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使用win32com库播放mp3文件的方法
May 30 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
利用Python生成文件md5校验值函数的方法
Jan 10 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
django中的setting最佳配置小结
Nov 21 Python
django 实现电子支付功能的示例代码
Jul 25 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
Python识别快递条形码及Tesseract-OCR使用详解
Jul 15 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 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 操作调试的方法
2012/07/12 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
CI框架附属类用法分析
2018/12/26 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
python实现自动发送邮件
2018/06/20 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
工商管理应届生求职信
2013/10/07 职场文书
拉丁舞学习者的自我评价
2013/10/27 职场文书
少先队入队活动方案
2014/02/08 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
领导工作表现评语
2015/01/04 职场文书
法人代表资格证明书
2015/06/18 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
MySQL sql模式设置引起的问题
2022/05/15 MySQL