我想使用熊猫滚动功能
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.rolling.html
在带有日期时间的 pandas 数据帧上聚合未来值。看来只能在过去才能做到,是这样吗?
谢谢!
我想使用熊猫滚动功能
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.rolling.html
在带有日期时间的 pandas 数据帧上聚合未来值。看来只能在过去才能做到,是这样吗?
谢谢!
IIUC,您可以使用 shift 将您的计算及时移回。
df = pd.DataFrame({'Data':np.arange(0,11,1)},index=pd.date_range('2018-07-23',periods=11))
df['rolling'] = df.rolling('2D').mean().shift(-1)
print(df)
输出:
Data rolling
2018-07-23 0 0.5
2018-07-24 1 1.5
2018-07-25 2 2.5
2018-07-26 3 3.5
2018-07-27 4 4.5
2018-07-28 5 5.5
2018-07-29 6 6.5
2018-07-30 7 7.5
2018-07-31 8 8.5
2018-08-01 9 9.5
2018-08-02 10 NaN