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中利用函数装饰器实现备忘功能
Mar 30 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
python getopt详解及简单实例
Dec 30 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
解决python报错MemoryError的问题
Jun 26 Python
Django 响应数据response的返回源码详解
Aug 06 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
python适合做数据挖掘吗
Jun 16 Python
numpy数据类型dtype转换实现
Apr 24 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
Python模拟百度登录实例详解
2016/01/20 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
英国袜子店:Sock Shop
2017/01/11 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
保安的辞职报告怎么写
2014/01/20 职场文书
大学班级学风建设方案
2014/05/01 职场文书
工厂车间标语
2014/06/19 职场文书
2014年教师学期工作总结
2014/11/08 职场文书
小班下学期个人总结
2015/02/12 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
2015年重阳节主持词
2015/07/04 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
sass 常用备忘案例详解
2021/09/15 HTML / CSS
用Python生成会跳舞的美女
2022/01/18 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技