微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pandas 指数加权移动平均在固定时间窗口

如何解决Pandas 指数加权移动平均在固定时间窗口

我正在尝试使用 Pandas ewm 函数进行指数加权移动平均,其中衰减是根据日期时间列的半衰期指定的。 Pandas ewm 函数的工作原理类似于 pandas expand 函数,因为它会滚动整个数据帧。但是,在我的情况下,我需要指定一个固定的时间窗口或偏移量,ewm 函数将在该时间窗口或偏移量上应用。换句话说,带有截止或“max_periods”参数的 ewma。

我的解决方案如下:

df = pd.DataFrame({'a': np.random.randint(5,size=24),'b': ["S","A"] * 12,'c': pd.date_range(start='1/1/2018',end='12/12/2018',freq='15D')})

df.groupby('b').rolling('60d',on='c')['a'].apply(lambda x: x.ewm(halflife='15d',times=x.index).mean().tail(1))

我的解决方案非常低效。寻找更快的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。