Pandas 哪些行彼此重复

Pandas 哪些行彼此重复,pandas,duplicates,Pandas,Duplicates,我有一个包含很多列的数据库。某些行是重复的(在某个子集中)。 现在我想找出哪一行与哪一行重复,并将它们放在一起。 例如,假设数据帧是 id A B C 0 0 1 2 0 1 1 2 3 4 2 2 1 4 8 3 3 1 2 3 4 4 2

我有一个包含很多列的数据库。某些行是重复的(在某个子集中)。 现在我想找出哪一行与哪一行重复,并将它们放在一起。 例如,假设数据帧是

     id       A        B       C
0     0       1        2       0
1     1       2        3       4
2     2       1        4       8
3     3       1        2       3
4     4       2        3       5
5     5       5        6       2
子集是

['A','B']
我期待这样的事情:

     id       A        B       C
0     0       1        2       0
1     3       1        2       3
2     1       2        3       4
3     4       2        3       5
4     2       1        4       8
5     5       5        6       2
有什么功能可以帮助我做到这一点吗? 谢谢:)

keep=False一起使用,用于所有副本的掩码,然后按flter by、sorting by和join by:


非常感谢您的回复!完全明白了:)@Tanya-不客气!如果我的答案有帮助,别忘了——点击答案旁边的复选标记,将其从灰色变为填充。谢谢
L = ['A','B']
m = df.duplicated(L, keep=False)

df = pd.concat([df[m].sort_values(L), df[~m]], ignore_index=True)
print (df)
   id  A  B  C
0   0  1  2  0
1   3  1  2  3
2   1  2  3  4
3   4  2  3  5
4   2  1  4  8
5   5  5  6  2