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
新的df
补充知识: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