python - pandas 统计过去 7 天的总数,但 groupby 的日期不同
问题描述
我有这个数据框:
date state cases flag
0 2020-03-13 Alabama 6 0
1 2020-03-14 Alabama 12 0
2 2020-03-15 Alabama 23 0
3 2020-03-16 Alabama 29 1
4 2020-03-17 Alabama 39 0
我想从标志列 = 1 的日期算起过去 7 天的案例数。我尝试了对此处找到的其他答案的一些变体,但没有运气。我有多个州的数据,需要按州分组。
输出应如下所示:
state count
Alabama 70
解决方案
您需要 7 天的滚动总和(假设我们有所有州的所有数据):
res_df = df[['state', 'cases']].groupby('state')['cases'].apply(lambda x: x.rolling(7, 1).sum().iloc[-1])
print(res_df)
推荐阅读
- excel - 适用于 Windows 键的 Application.OnKey
- angular - 如何修复Angular中的“无法设置只有getter的[object Object]的属性userInfo $”错误
- racket - DrRacket - 显示列表中高于平均水平的所有值
- applescript - 使用 Automator 通过 QuickTime 将 wav 转换为 m4a
- excel - 完全除数的“n”的最大幂
- c# - 在 .NetCore 的 EF 核心中禁用和启用表触发器
- python-3.x - 如何在我的文件夹中找到 ._6182142_V1.csv?
- php - 从查询中获取特定字段(不起作用)未定义变量:fetch_data
- spring - Liquibase 正在尝试执行已执行的脚本
- java - 尝试上传文件时 FTPClient 连接超时