我需要在数据帧中计算一些前滚平均值,并且实际上不知道从哪里开始。
我知道如果我想提前10天选择一个细胞说我会做df.shift(-10)
,但我想要做的是计算前10到15天之间的平均值。
所以我有点想的是df.rolling(-10,-15).mean()
,如果我试图计算一个移动平均线在时间上支持df.rolling(15,10).mean()会完美地工作,我确实考虑过只计算平均数就像那,然后以某种方式转移数据。
任何帮助都会很棒
非常感谢
您可以提前5天计算滚动平均值,然后再计算shift
10天。由于不允许rolling
中的负值,您可以反转轴,向后计算,然后再次反转(请参阅How to use Pandas rolling_* functions on a forward-looking basis):
df = pd.DataFrame(np.random.rand(100, 2))
df[::-1].rolling(5).mean()[::-1].shift(-10)