首页 > 解决方案 > 将重复的行保存在单独的数据框中

问题描述

我可以使用熊猫删除重复的行,

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 行)。

标签: pythonpandasdataframe

解决方案


使用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

推荐阅读