Python Pandas: добавить значение, если та же дата, а затем удалить строку - PullRequest
1 голос
/ 21 октября 2019

У меня есть это df:

c1        c2       c3 
A     2017-03-17    1 
B     2017-03-17    2 
C     2017-05-27    8 
D     2017-09-02    4

Я хочу добавить значения в c3, если даты в c2 совпадают, а затем удалить дублирующую строку даты, сохраняя первую. Вывод должен выглядеть следующим образом:

c1        c2       c3 
A     2017-03-17    3 
C     2017-05-27    8 
D     2017-09-02    4

Я использую df.drop_duplicates с keep = first, чтобы удалять дубликаты на основе даты, но, конечно, это также удаляет значение в c3, которое я хотел бы сохранить,

1 Ответ

2 голосов
/ 21 октября 2019

Используйте groupby() с first на c1 и sum на c3

df.groupby('c2').agg({'c1': 'first', 'c3': 'sum'}).reset_index()

           c2 c1  c3
0  2017-03-17  A   3
1  2017-05-27  C   8
2  2017-09-02  D   4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...