熊猫-在多列中查找重复项并找到相应的输出

时间:2019-05-09 10:50:07

标签: 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_1col_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)]

1 个答案:

答案 0 :(得分:1)

DataFrame.duplicated中使用参数subset

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