对于一个大学项目,我使用Johns Hopkins冠状病毒COVID-19数据集:https://github.com/CSSEGISandData/COVID-19。我正在尝试使数据集更简单。现在是我的数据集:
Country Date Confirmed Deaths Recovered
2600 Mainland China 2020-02-28 410.0 7.0 257.0
2601 Iran 2020-02-28 388.0 34.0 73.0
2602 Mainland China 2020-02-28 337.0 3.0 279.0
2603 Mainland China 2020-02-28 318.0 6.0 277.0
2604 Mainland China 2020-02-28 296.0 1.0 235.0
... ... ... ... ... ...
2695 US 2020-02-25 1.0 0.0 1.0
2696 US 2020-02-24 0.0 0.0 0.0
2697 US 2020-02-24 0.0 0.0 0.0
2698 US 2020-02-24 0.0 0.0 0.0
2699 Mainland China 2020-02-29 66337.0 2727.0 28993.0
如果“国家”和“日期”列中的值相同,我想汇总所有“确认”,“死亡”和“恢复”值。
例如,在第2600、2602、2603、2604行中,Country和Date列中的值匹配,因此我想合并这些行并分别汇总Confirmed,Deaths和Recovered列。该行应显示以下行:
2600 Mainland China 2020-02-28 1361.0 17.0 1048.0
到目前为止我所拥有的:
duplicateRowsDF = df[df.duplicated(['Country', 'Date'])]
duplicateRowsDF
希望有人可以帮助我,最好是但不限于熊猫。预先感谢。
答案 0 :(得分:2)
使用groupby
怎么样?如果您这样做:
df.groupby(by=['Country', 'Date']).sum()
您所有具有相同国家和日期的行将被分组为仅一列,每一列中所有值的总和。