Как удалить дубликаты внутри группы в Pandas - PullRequest
0 голосов
/ 03 мая 2019

Я хочу удалить дубликаты "внутри" группы. Как я могу сделать это наиболее эффективным способом?

Я пытался просто сгруппировать данные по идентификатору, но, поскольку компании могут привлекать один и тот же тип раундов инвестиций в разные годы, этот подход приводит меня к неверному результату.

У меня есть такие данные:

+----+-----------+-----------+---------------+
| ID |   Type    | seed_year | series_a_year |
+----+-----------+-----------+---------------+
|  1 | seed      |      2014 |             0 |
|  2 | seed      |      2014 |             0 |
|  2 | seed      |      2015 |             0 |
|  3 | seed      |      2012 |             0 |
|  3 | series_a  |         0 |          2014 |
|  3 | series_a  |         0 |          2015 |
+----+-----------+-----------+---------------+

Где мой желаемый результат будет:

+----+----------+-----------+---------------+
| ID |   Type   | seed_year | series_a_year |
+----+----------+-----------+---------------+
|  1 | seed     |      2014 |             0 |
|  2 | seed     |      2014 |             0 |
|  3 | seed     |      2012 |             0 |
|  3 | series_a |         0 |          2014 |
+----+----------+-----------+---------------+

Я бы хотел сохранить первый (самый старый) раунд финансирования.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Вы можете использовать аргумент 'subset' .drop_duplicates():

df.drop_duplicates(subset=['ID', 'Type'], keep='first')
0 голосов
/ 03 мая 2019

Параметр keep по умолчанию 'first' Так что вы можете пропустить это.

df.drop_duplicates(subset=['ID', 'Type'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...