我有一个带有这样的时间索引的熊猫数据框
import pandas as pd
import numpy as np
idx = pd.date_range(start='2000',end='2001')
df = pd.DataFrame(np.random.normal(size=(len(idx),2)),index=idx)
看起来像这样:
0 1
2000-01-01 0.565524 0.355548
2000-01-02 -0.234161 0.888384
我想计算一个滚动平均值
df_avg = df.rolling(60).mean()
但始终排除对应于(假设)10 天前 +- 2 天的条目。换句话说,对于每个日期,df_avg 应该包含前 60 个条目的平均值(带有 ewm 或 flat 的指数),但不包括从 t-48 到 t-52 的条目。我想我应该做一种滚动面具,但我不知道怎么做。我也可以尝试计算两个单独的平均值并获得结果作为差异,但它看起来很脏,我想知道是否有更好的方法可以推广到其他非线性计算......
非常感谢!