熊猫.rolling指定时间窗口和win_type

Elr*_*ond 5 python time-series moving-average pandas

我想在使用熊猫的不规则时间序列上使用时间窗口来计算移动平均值。理想情况下,应使用pandas.DataFrame.ewm对窗口进行指数加权,但参数(例如span)不接受基于时间的窗口。如果尝试使用pandas.DataFrame.rolling则会意识到我们无法将基于时间的窗口与win_type结合使用。

dft = pd.DataFrame({'B': [0, 1, 2, 3, 4]},
                   index = pd.Index([pd.Timestamp('20130101 09:00:00'),
                                     pd.Timestamp('20130101 09:00:02'),
                                     pd.Timestamp('20130101 09:00:03'),
                                     pd.Timestamp('20130101 09:00:05'),
                                     pd.Timestamp('20130101 09:00:06')],
                                    name='foo'))
dft.rolling('2s', win_types='triang').sum()
>>> ValueError: Invalid window 2s
Run Code Online (Sandbox Code Playgroud)

如何计算不规则时间序列上基于时间的加权移动平均数不相等?

预期输出dft.ewm(alpha=0.9, adjust=False).sum()与一个窗口相关联'2s'[0*1, 1*1, 2*1+1*0.9, 3*1, 4*1+3*0.9]

Unc*_*Ben -2

这应该有效:

dft.rolling(2,freq='s' win_types='triang').sum()
Run Code Online (Sandbox Code Playgroud)