我就废话不多说了,大家还是直接看代码吧!
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]
<