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中degrees()方法的使用
May 18 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
Python实现分数序列求和
Feb 25 Python
Python Django view 两种return的实现方式
Mar 16 Python
python中wx模块的具体使用方法
May 15 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
Django使用rest_framework写出API
May 21 Python
pytorch 常用函数 max ,eq说明
Jun 28 Python
编写python代码实现简单抽奖器
Oct 20 Python
python利用opencv保存、播放视频
Nov 02 Python
Spy++的使用方法及下载教程
Jan 29 Python
Python绘制数码晶体管日期
Feb 19 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中include()与require()的区别说明
2010/03/10 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP学习笔记之session
2018/05/06 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
利用python获得时间的实例说明
2013/03/25 Python
python基础梳理(一)(推荐)
2019/04/06 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
Python实现图片识别加翻译功能
2019/12/26 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
Python 如何创建一个线程池
2020/07/28 Python
捷克时尚网上商店:OTTO
2018/03/15 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
英语自我评价范文
2014/01/24 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
农民工工资支付承诺函
2014/03/31 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
使用python求解迷宫问题的三种实现方法
2022/03/17 Python