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使用cookie库操保存cookie详解
Mar 03 Python
python 字典(dict)按键和值排序
Jun 28 Python
python多进程实现进程间通信实例
Nov 24 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
Django实现celery定时任务过程解析
Apr 21 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
python urllib库的使用详解
Apr 13 Python
pytorch损失反向传播后梯度为none的问题
May 12 Python
使用Python解决图表与画布的间距问题
Apr 11 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
js技巧--转义符"\"的妙用
2007/01/09 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
javascript 关闭IE6、IE7
2009/06/01 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python文件排序的方法总结
2020/09/13 Python
Python 可视化神器Plotly详解
2020/12/26 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
毕业生自荐书
2014/02/03 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL