python - Pandas - 在多列中查找重复项并找到相应的输出
问题描述
我有一个如下的数据框
df = pd.DataFrame({'col_1':['cust_a','cust_b','cust_c','cust_d','cust_e','cust_a'],
'col_2':['prod_a','prod_b','prod_b','prod_a','prod_a','prod_b'],
'col_3':['cat_a','cat_b','cat_c','cat_d','cat_a','cat_a']})
以上返回以下数据框
col_1 col_2 col_3
cust_a prod_a cat_a
cust_b prod_b cat_b
cust_c prod_b cat_c
cust_d prod_a cat_d
cust_e prod_a cat_a
cust_a prod_b cat_a
我正在尝试根据 和 中的值查找重复的col_1
行col_3
。
例如, cust_a 和 cat_a 出现两次,我正在尝试过滤它们。
预期输出:
col_1 col_2 col_3
cust_a prod_a cat_a
cust_a prod_b cat_a
我尝试了以下,但它仍然有重复:
df[df.duplicated(keep=False)]
解决方案
subset
使用参数DataFrame.duplicated
:
df = df[df.duplicated(subset=['col_1','col_3'], keep=False)]
print(df)
col_1 col_2 col_3
0 cust_a prod_a cat_a
5 cust_a prod_b cat_a
推荐阅读
- firebase - 以“用户名”作为提供者的 Firebase 身份验证
- vb.net - 无法编译此 Visual Basic 程序
- python - DateTimeIndex.to_period 为许多偏移别名引发 ValueError 异常
- android - Android自定义通知声音不适用于Redmi和Vivo等中国手机
- java - 线程。停止服务器
- java - Kurento 生成的 MP4 文件无法在 Safari 浏览器上播放
- java - 来自 maven 依赖项的 ClassNotFoundException 但类存在并且在类路径中
- swift - 分段错误 Xcode 11
- tfs - 仅基于代码更改的向前/向后分支
- amazon-web-services - Webhook 存储库中的特定文件?