python 实现rolling和apply函数的向下取值操作
作者:wja_626 发布时间:2022-03-15 07:10:08
标签:python,rolling,apply,取值
我就废话不多说了,大家还是直接看代码吧!
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


猜你喜欢
- 数据库的约束就是关系型数据库给我们提供的一种"校验数据"合法性的机制1. NULL约束创建表时,可以指定某列不为空cre
- 本文实例讲述了python自动化测试的过程,分享给大家供大家参考。具体代码如下:import unittest ##############
- 简介在廖雪峰的python网站上,他是这么说的python是动态语言,它允许程序在执行过程中动态绑定属性或者方法(使用MethodTpye)
- 事务隔离级别设置set global transaction isolation level read committed; //全局的se
- 如果一个数字能表示成 p^q,且p是一个素数,q为大于1的正整数,则此数字就是超级素数幂。 param number: 测试该数字是否是超级
- 错误号 错误信息5 &n
- 1、检测指定路径下所有文件所占用内存import osdef check_memory(path, style='M'):
- 在深入研究这些库之前,首先,我们需要一个数据库来绘制数据。我们将在本完整教程中使用 tips database。让我们讨论一下这个数据库的简
- 本文实例讲述了Python使用Flask框架同时上传多个文件的方法,分享给大家供大家参考。具体如下:下面的演示代码带有详细的html页面和p
- 问题描述当前环境win10,python_3.6.1,64位。在windows下,在dos中运行pip install Scrapy报错:b
- 1、用户有三种:活跃用户、沉睡用户、外部用户。2、据不完全统计,外部用户8亿,沉睡用户1.2亿,活跃用户1千万。3、就算不去管活跃用户,或者
- 首先mysql更新数据的某个字段,一般这样写:UPDATE mytable SET myfield = 'value' WH
- 什么是拼音转换在我们学习语言之前,我们一般会学习拼音来认识汉字,并学会如何读汉字。所以,拼音在对于我们语言的重要性不言而喻。而拼音转换指的是
- 本文实例讲述了Flask框架使用DBUtils模块连接数据库的操作方法。分享给大家供大家参考,具体如下:Flask连接数据库数据库连接池:D
- 前言:前面的一章我们展示了选择结构的三种基本形式,并给出了实例演示,但是大家在编写代码过程中仍然要注意一些细节,尤其是代码块的缩进,这对if
- 经测试可用的发送邮件代码:import smtplibfrom email.mime.text import MIMEText# 第三方 S
- 滑动验证距离分别获取验证码背景图和滑块图两张照片,然后利用opencv库,通过高斯模糊和Canny算法进行处理,然后通过matchTempl
- 我们使用alter table add column语句向现有表中添加新列。简介alter table table_nameadd [col
- 导读准备一个Server2008,通过Metasploit获取system访问权限,进入meterpreter交互界面。通过shell命令,
- 开始第一篇。老规矩,先无聊的谈论天气一类的话题。十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡。话说两年前也是在国庆假期