Сохранение дублирующихся строк в отдельном фрейме данных - PullRequest
0 голосов
/ 16 ноября 2018

Я могу удалить повторяющиеся строки, используя панд,

df.drop_duplicates(subset=['issuer_id', 'hios_plan_identifier', 'group_or_individual_plan_type']). Насколько я знаю, он удаляет все дубликаты, сохраняя первое вхождение, которое является функциональностью по умолчанию.

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

У меня есть мой фрейм данных df,

  issuer_id hios_plan_identifier  plan_year group_or_individual_plan_type
0        484      99806CAAUSJ-TMP       2018                         Group
1        484      99806CAAUSJ-TMP       2018                         Group
2        484      99806CAAUSJ-TMP       2018                         Group
3        484      99806CAAUSJ-TMP       2018                         Group

Я хочу удалить дубликаты из df (будет только 1 строка) и сохранить остаток в другом фрейме данных df1 (будет 3 строки).

1 Ответ

0 голосов
/ 16 ноября 2018

Используйте duplicated и присвойте значения df1, а затем drop_duplicates на df:

subset_col = ['issuer_id', 'hios_plan_identifier', 'group_or_individual_plan_type']
df1 = df.loc[df.duplicated(subset=subset_col),:]
df = df.drop_duplicates(subset=subset_col)

print(df)
   issuer_id hios_plan_identifier  plan_year group_or_individual_plan_type
0        484      99806CAAUSJ-TMP       2018                         Group

print(df1)
   issuer_id hios_plan_identifier  plan_year group_or_individual_plan_type
1        484      99806CAAUSJ-TMP       2018                         Group
2        484      99806CAAUSJ-TMP       2018                         Group
3        484      99806CAAUSJ-TMP       2018                         Group
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...