首页 > 解决方案 > 开始日期的滚动平均值发生在之前

问题描述

这段代码给了我从 90d 之前到今天的滚动平均值, df.rolling('90d', on='Date')['quantity'].mean() 我现在想要的是从 90d 之前到 30d 之前,如何实现?

标签: pythonpython-3.xpandas

解决方案


我会用sumand滚动两次count

roll90 = df.rolling('90d').quantity.agg({'sum','count'})

# you may want roll29 instead of roll30
roll30 = df.rolling('30d').quantity.agg({'sum','count'})

roll = roll90 - roll30

roll['mean'] = roll['sum']/roll['count']

推荐阅读