Суммируйте строки с одинаковыми значениями по заданным c столбцам в Pandas - PullRequest
0 голосов
/ 07 марта 2020

Для проекта колледжа я работаю с набором данных 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 значения в столбцах Страна и Дата совпадают, поэтому я хочу объединить эти строки и суммировать столбцы Подтверждено, Смерть и Восстановлено по отдельности. Что должно привести к следующему ряду:

 2600    Mainland China  2020-02-28  1361.0       17.0     1048.0

То, что у меня есть до сих пор:

duplicateRowsDF = df[df.duplicated(['Country', 'Date'])]
duplicateRowsDF

Надеюсь, кто-нибудь может мне помочь, желательно, но не ограничиваясь этим, Pandas. Заранее спасибо.

1 Ответ

2 голосов
/ 07 марта 2020

Как насчет использования groupby? Если вы сделаете это:

df.groupby(by=['Country', 'Date']).sum() 

Все ваши строки с одинаковой страной и датой будут сгруппированы только в один столбец с суммой всех значений в каждом столбце.

...