python 实现rolling和apply函数的向下取值操作


Posted in Python onJune 08, 2020

我就废话不多说了,大家还是直接看代码吧!

import pandas as pd

def get_under_rolling(df,window,user,name):
  df[name] = df[user].iloc[::-1].rolling(window=window).apply(lambda x:x[0]).iloc[::-1]
  return df

if __name__ == '__main__':
  df = pd.DataFrame({'a':[1,2,3,4,5],
          'b':[2,3,4,5,6]})
  # 把b列向下取值作为新的c列
  df = get_under_rolling(df, window=3, user='b',name='c')

原始df

python 实现rolling和apply函数的向下取值操作

新的df

python 实现rolling和apply函数的向下取值操作

补充知识:python:利用rolling和apply对DataFrame进行多列滚动,数据框滚动

看代码~

# 设置一个初始数据框
df1 = [1,2,3,4,5]
df2 = [2,3,4,5,6]
df = pd.DataFrame({'a':list(df1),'b':list(df2)})
print(df)
a b
 0 1 2
 1 2 3
 2 3 4
 3 4 5
 4 5 6

下面是滚动函数

# 多列滚动函数
# handle对滚动的数据框进行处理
def handle(x,df,name,n):
  df = df[name].iloc[x:x+n,:]
  print(df)
  return 1
# group_rolling 进行滚动 
# n:滚动的行数
# df:目标数据框
# name:要滚动的列名
def group_rolling(n,df,name):
  df_roll = pd.DataFrame({'a':list(range(len(df)-n+1))})
  df_roll['a'].rolling(window=1).apply(lambda x:handle(int(x[0]),df,name,n),raw=True)

对初始数据框进行滚动

其中:

n=2,name=[‘a',‘b']
group_rolling(n=2,df=df,name=['a','b'])

每次滚动的结果如下:

a b
0 1 2
1 2 3

  a b
1 2 3
2 3 4

  a b
2 3 4
3 4 5

  a b
3 4 5
4 5 6

以上这篇python 实现rolling和apply函数的向下取值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python数据结构之二叉树的遍历实例
Apr 29 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
解读Django框架中的低层次缓存API
Jul 24 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
scrapy爬虫实例分享
Dec 28 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
通过python顺序修改文件名字的方法
Jul 11 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
简单了解django orm中介模型
Jul 30 Python
Python阶乘求和的代码详解
Feb 14 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
Python 操作SQLite数据库的示例
Oct 16 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 #Python
Python实现查找数据库最接近的数据
Jun 08 #Python
python numpy库np.percentile用法说明
Jun 08 #Python
python thrift 实现 单端口多服务的过程
Jun 08 #Python
Python astype(np.float)函数使用方法解析
Jun 08 #Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 #Python
python:删除离群值操作(每一行为一类数据)
Jun 08 #Python
You might like
用PHP生成html分页列表的代码
2007/03/18 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python实现名片管理系统项目
2019/04/26 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
python 串行执行和并行执行实例
2020/04/30 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
Python定义一个函数的方法
2020/06/15 Python
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
三项教育活动实施方案
2014/03/30 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
python中的被动信息搜集
2021/04/29 Python
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript