我想对丢失的数据进行滚动计算。
示例代码:(为了简单起见,我给出了一个滚动总和的示例,但我想做一些更通用的事情。)
foo = lambda z: z[pandas.notnull(z)].sum()
x = np.arange(10, dtype="float")
x[6] = np.NaN
x2 = pandas.Series(x)
pandas.rolling_apply(x2, 3, foo)
产生:
0 NaN
1 NaN
2 3
3 6
4 9
5 12
6 NaN
7 NaN
8 NaN
9 24
我认为在“滚动”期间,缺少数据的窗口被忽略以进行计算。我希望得到以下结果:
0 NaN
1 NaN
2 3
3 6
4 9
5 12
6 9
7 12
8 15
9 24