python - 开始日期的滚动平均值发生在之前
问题描述
这段代码给了我从 90d 之前到今天的滚动平均值,
df.rolling('90d', on='Date')['quantity'].mean()
我现在想要的是从 90d 之前到 30d 之前,如何实现?
解决方案
我会用sum
and滚动两次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']
推荐阅读
- powershell - 如何在 ps 中读取奇怪的日期时间格式
- angular - Angular 6使用@Output在父子组件之间进行通信
- jquery - 在具有不同样式和 ajax 的同一个 Javascript 文件中使用多个 jQuery DataTable 函数
- kotlin - 具有不同作用域属性的多个继承类
- sql - SQL 仅选择每个不同值的一行(具有所有属性值)
- mysql - 如何在MySql中借助外键选择外键表的属性?
- javascript - Semantic UI React - 如何防止在按钮按下时滚动以获取表单中所需的输入?
- python - 在树莓派中写入 CSV 时切换列
- sql - SQLite 如何使用生成的列在同一个查询中进行额外的计算
- sql - 如何透视表以创建二进制数据?