Как удалить все удаленные дубликаты записей и сохранить только первые две, используя панд - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть набор данных с несколькими записями транзакций клиентов и уникальным идентификатором клиента. Мне нужно удалить все дубликаты записей, кроме первых двух. Я знаю функциональность drop_duplicates, но мне нужно выяснить, как удалить все, кроме первых двух.

Пример

cust_ID  transaction_Date
------   ---------------
abc         01/01/2013
abc         02/09/2013
abc         06/06/2015
abc         09/09/2019
def         02/01/2015
ghi         09/09/2013
def         09/02/2014

Мой результат должен быть:

cust_ID  transaction_Date
------   ---------------
abc         01/01/2013
abc         02/09/2013
def         02/01/2015
ghi         09/09/2013
def         09/02/2014

Здесь ведутся две записи abc. Другие удалены. У def только две записи, и все две поддерживаются, ничего не удаляется.

Есть ли способ сделать? Ценю любую небольшую помощь. Заранее спасибо

1 Ответ

2 голосов
/ 09 ноября 2019

Простой head(2)

df.groupby('cust_ID').head(2)

Out[8]:
  cust_ID transaction_Date
0     abc       01/01/2013
1     abc       02/09/2013
4     def       02/01/2015
5     ghi       09/09/2013
6     def       09/02/2014
...