Python Pandas 按重复行排序 DataFrame
有没有什么好的方法可以查看DataFrame中哪些行是重复的,并且把这些重复的行排在一起显示在最上面?我知道可以用 df.duplicated()
或者类似的 df[df.duplicated()==True]
来筛选出重复的行,但我需要生成一个包含重复行的DataFrame,然后再对它们进行排序,以便在DataFrame中显示所有相关的记录。而且我不需要使用列子集的参数。谢谢!
1 个回答
1
一个想法是对所有的列进行排序。不过,我不太确定这样做的效率怎么样。
In [20]: df = pd.DataFrame (np.random.randint (100,size=(3,3)), columns= list('ABC'))
In [21]: df = df.append(df, ignore_index=True)
In [22]: df
Out[22]:
A B C
0 23 71 65
1 63 0 47
2 47 13 44
3 23 71 65
4 63 0 47
5 47 13 44
In [23]: df.sort(df.columns.tolist())
Out[23]:
A B C
0 23 71 65
3 23 71 65
2 47 13 44
5 47 13 44
1 63 0 47
4 63 0 47