如果我有一个看起来像这样的熊猫df:
+--------+-----------+--------
|Col1 | Col2 |Col3 |
|--------+-----------+----------+
|75 | 84 | A |
|75 | 84 | C |
我希望输出为
df[df.duplicated(['ID'], keep=False)]
即Col1和Col 2的值相同但Col 3不同的位置。 我尝试过
{{1}}
但这不能仅基于2列相似性来识别重复项。
答案 0 :(得分:1)
首先通过Col1
和Col2
获取所有重复项,然后通过DataFrame.drop_duplicates
删除所有列中的重复项:
df = df[df.duplicated(['Col1', 'Col2'], keep=False)].drop_duplicates()
print (df)
Col1 Col2 Col3
0 75 84 A
2 75 84 C
答案 1 :(得分:1)
In [288]: df[df.duplicated(['Col1', 'Col2'], keep=False)].drop_duplicates()
Out[288]:
Col1 Col2 Col3
0 75 84 A
2 75 84 C