pandas - 在 pandas 中通过重新采样和偏移将每日数据汇总到每周
问题描述
我有想要汇总到每周的每日 covid 数据。问题是我希望我的星期从周日到周六,但默认是周一到周日。我尝试使用 loffset,但它只是更改日期而不是我的数据,而且它正在添加数据集中不存在的日期。
代码:
logic = {'iso_code' : 'first',
'new_cases' : 'sum',
'new_deaths' : 'sum',
'icu_patients' : 'sum',
'hosp_patients' : 'sum',
'people_vaccinated': 'sum'} #it's possible to have 'first', 'max','last', etc
offset = pd.offsets.DateOffset(-1)
df_covid_weekly = df_covid_file.resample('W', on='date', label = 'right', loffset=offset).apply(logic).reset_index()
解决方案
使用锚定偏移:
df_covid_file.resample('W-SAT', on='date', label = 'right')
偏移量W
相当于W-SUN
(“星期结束于星期日”)并且W-SAT
是“星期结束于星期六”,依此类推。
如果你想要一个可以使用的偏移对象pd.offsets.Week(weekday=5)
,它相当于W-SAT
. 偏移字符串是这些对象的别名。有时使用对象而不是字符串对应物可以使代码参数化更容易一些。
推荐阅读
- android - mauth.signInWithEmailAndPassword 使我的 Android 应用程序崩溃
- javascript - 如何让我的用户学生查看他/她所属的所有教室?
- arrays - 如何使用多个键 Swift 4 过滤两个字典?
- java - Sonar java漏洞方法返回true
- python - 我正在尝试使用另一个由值组成的数据框创建一个新的数据框
- angular - 使用 Kendo UI for Angular 以编程方式隐藏 GridComponent 中的列
- sql-server - 如何在不知道参数数据类型的情况下添加存储过程参数?
- java - 如何从 URL 访问我的应用程序中的 JSON 数据?
- javascript - Angular 6:检查主机/服务器的可用性
- c# - 如何在 C# 控制台应用程序中显示特别是运行应用程序的进程列表