查找某一列值与另一列中的多个值匹配的行

时间:2019-01-20 21:29:41

标签: python pandas

我需要结果具有1:1的基数,因此我需要测试COL1中的值是否在COL2中存在一次以上,并忽略数据框中的所有其他列。

COL1    COL2    COL3
A   1   1
B   2   2
B   2   4
B   3   4
C   4   5
D   5   6
E   5   6
E   5   7

使用Python(最好是熊猫,除非存在更好的方法),我想查看COL1中的值在COL2中具有多个匹配项的所有行吗?在上面的示例中,我想知道何时COL1 = B在COL2中具有超过1个匹配项(即,在评估时忽略所有其他列(即COL3)时,COL1 = B的基数与COL2 = 2以及3匹配/联接)? '

@coldspeed为我提供了此解决方案,如果我的df仅是COL1&COL2,则该方法有效。现在,我需要将这种类似的解决方案应用于具有更多列的df,但是我不在乎它们中的值,只需测试COL1和COL2即可。这是@coldspeed的适用于COL1和COL2的代码:

df[df.groupby('COL1').COL2.transform('nunique') > 1]

0 个答案:

没有答案