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