首页 > 解决方案 > 用 pandas 计算前滚平均值

问题描述

我需要计算数据框中的一些滚动平均值,并且真的不知道从哪里开始。

我知道如果我想提前 10 天选择一个单元格,我会说我会这样做df.shift(-10),但我想做的是计算提前 10 到 15 天之间的平均值。

所以我的想法是df.rolling(-10,-15).mean(),如果我试图计算一个移动平均线来支持时间 df.rolling(15, 10).mean() 会完美地工作,我确实考虑过像这样计算平均值,然后以某种方式转移数据。

任何帮助都会很棒

非常感谢

标签: pythonpandasmoving-average

解决方案


您可以提前 5 天计算滚动平均值,然后再shift计算 10 个周期。rolling由于不允许负值,您可以反转轴,向后计算,然后再次反转(请参阅如何在前瞻性基础上使用 Pandas rolling_* 函数):

df = pd.DataFrame(np.random.rand(100, 2))
df[::-1].rolling(5).mean()[::-1].shift(-10)

推荐阅读