python - 将重复的行保存在单独的数据框中
问题描述
我可以使用熊猫删除重复的行,
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 行)。
解决方案
使用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
推荐阅读
- ios - 尝试在 iOS 13.2 设备上运行时 Xcode 崩溃
- powershell - Powershell,开关命名ParameterSets
- android - 未处理的异常:DioError PONSE]:Http 状态错误 [500]
- c# - C# Linq 左外连接
- networking - 根据 Netlogo 中的条件将代理移动到节点
- php - 我想使用循环将数据插入表中我有使用 PHP 的 Multi-D 数组
- elasticsearch - 在管道聚合中显示选定的值
- ignite - javax.cache.CacheException:找不到类型为 XXXXXX 的 SQL 表
- java - java.lang.ClassCastException 的任何建议解决方案:oracle.xdb.XMLType 与 oracle.sql.OPAQUE 不兼容
- data-warehouse - 如何获取传入事实记录的精确代理键