首页 > 解决方案 > 如何使用 df.rolling(window, min_periods, win_type='exponential').sum()

问题描述

我想用 计算滚动指数加权平均值df.rolling().mean()。我卡在win_type = 'exponential'.

我尝试过其他 *win_types,例如“gaussian”。我认为与“指数”会有些不同。

dfTemp.rolling(window=21, min_periods=10, win_type='gaussian').mean(std=1)
# works fine

但是当谈到“指数”时,

dfTemp.rolling(window=21, min_periods=10, win_type='exponential').mean(tau=10)
# ValueError: The 'exponential' window needs one or more parameters -- pass a tuple.

如何使用win_type='exponential'...谢谢~~~

标签: pandas

解决方案


我遇到了同样的问题,并在俄语 SO 上问了这个问题:

得到以下答案

x.rolling(window=(2,10), min_periods=1, win_type='exponential').mean(std=0.1)

您应该将 tau 值window=(2, 10)直接传递给参数 where10是 tau 的值。

我希望它会有所帮助!感谢@MaxU


推荐阅读