将重复的行保存在单独的数据框中

时间:2018-11-16 07:25:44

标签: python pandas dataframe

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

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 :(得分:1)

使用duplicated并将值分配给df1,然后将其分配给df上的drop_duplicates

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