我可以使用熊猫删除重复的行,
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行)中。
答案 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