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

作者:wja_626 时间:2022-03-15 07:10:08 

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


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

来源:https://blog.csdn.net/qq_42830966/article/details/104503783

标签:python,rolling,apply,取值
0
投稿

猜你喜欢

  • ASP生成柱型体,折线图,饼图源代码

    2007-09-20 12:56:00
  • php静态化页面 htaccess写法详解(htaccess怎么写?)

    2023-11-14 22:33:03
  • 浅谈Python小波分析库Pywavelets的一点使用心得

    2023-03-11 22:55:23
  • vue全局自定义指令-元素拖拽的实现代码

    2024-04-30 08:46:16
  • php中运用http调用的GET和POST方法示例

    2023-11-23 02:39:35
  • Django Serializer HiddenField隐藏字段实例

    2022-10-29 02:39:07
  • 十分钟利用Python制作属于你自己的个性logo

    2021-08-25 05:12:41
  • javascript 文章截取部分无损html显示实现代码

    2024-04-19 09:57:11
  • 详解vue配置请求多个服务端解决方案

    2024-05-05 09:06:11
  • Pycharm 如何设置HTML文件自动补全代码或标签

    2021-08-12 17:47:15
  • python wsgiref源码解析

    2023-10-20 10:56:27
  • 解决SecureCRT通过SSH连接Ubuntu时vi命令有多余的m的问题

    2023-11-19 19:32:24
  • Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码

    2021-04-30 21:32:11
  • css网页下拉菜单制作方法(1):基本原理

    2007-02-03 11:39:00
  • 使用python socket分发大文件的实现方法

    2022-05-23 10:45:40
  • URL编码与SQL注入

    2007-09-26 12:41:00
  • Python中实现参数类型检查的简单方法

    2022-07-26 18:53:07
  • CSS expression在IE8里正式退出历史舞台

    2008-10-26 16:57:00
  • 支持生僻字且自动识别utf-8编码的php汉字转拼音类

    2023-11-14 21:04:40
  • 教你安装python Django(图文)

    2023-11-13 14:22:39
  • asp之家 网络编程 m.aspxhome.com