python - 如何添加按类别“区分”累积变量的列?
问题描述
我第一次发帖,所以请多多包涵。我有一个如下所示的 COVID 数据集:
date | county | confirmed
2021-05-01 Bexar 1200
2021-05-01 Travis 1500
2021-05-01 Harris 1300
2021-05-02 Bexar 1250
2021-05-02 Travis 1550
2021-05-02 Harris 1350
“已确认”列是累积的。
实际上,它是一个更大的数据集(几个日期和 200 多个县)。我想在数据集中添加一列,该列每天按县提供差异(新病例)。所以它最终像:
date | county | confirmed | new_cases
2021-05-01 Bexar 1200 N/A
2021-05-01 Travis 1500 N/A
2021-05-01 Harris 1300 N/A
2021-05-02 Bexar 1250 50
2021-05-02 Travis 1530 30
2021-05-02 Harris 1340 40
我已经尝试弄清楚如何在县上循环 df.diff() 命令,并将结果每次都添加到 df 中。但是我对 Python 太陌生了,以至于我无法弄清楚。
解决方案
假设您正在使用pandas
:
df = df.sort_values(by=['date'])
df['diff'] = df.groupby(['county'])['confirmed'].diff().fillna(0)
推荐阅读
- angular - Angular 6 测试 - Jasmine - 模拟链式承诺
- android - Kotlin 中的 DBLogHelper.instance 和 DBLogHelper() 有什么不同?
- python - 我可以使用 Python 的 setuptools 指定冲突的包吗?
- ios - 我们如何在 Swift 4.0 的协议扩展中定义选择器方法
- python - 如何更改金字塔内部服务器错误的默认视图?
- c# - NewtonSoft JsonConverter - 将属性重命名为其他属性的值
- c# - 如何从 MQL4 将数据发布到 C# 网络服务
- spring - Spring Tool Suite:由于 Spring Boot Build Path ERROR 无法执行简单的 Demo
- android - 无法解析 ActivityCompat 中的 requestPermissions
- flask - Flask 大文件下载