如何根据重复的列值选择熊猫行?

时间:2020-04-06 12:02:14

标签: python pandas dataframe

如果我有一个看起来像这样的熊猫df:

+--------+-----------+--------
|Col1    | Col2      |Col3      |
|--------+-----------+----------+
|75      |  84       |    A     | 
|75      |  84       |    C     |  

我希望输出为

df[df.duplicated(['ID'], keep=False)]

即Col1和Col 2的值相同但Col 3不同的位置。 我尝试过

{{1}}

但这不能仅基于2列相似性来识别重复项。

2 个答案:

答案 0 :(得分:1)

首先通过Col1Col2获取所有重复项,然后通过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