python - 在 Pandas 中查找重复行,其中列值的顺序无关紧要

标签 python pandas numpy

示例数据框:

import pandas as pd

data = data = { 'num1': [1,2,3,4,5], 
        'num2': [1,1,2,3,1],
        'num3': [5,4,3,2,1]}

df = pd.DataFrame(data)

print(df.head())




>>> df.head()
   num1  num2  num3          
0     1     1     5                   #dups with row 4
1     2     1     4
2     3     2     3
3     4     3     2
4     5     1     1                  #dups with row 1

在此示例数据框中,我尝试提取第一行和最后一行, 因为它们的内容彼此重复 (1,1,5)

如果值的顺序相同(看起来),下面的代码只会找到重复的行:

dups =df[df.duplicated(subset=None, keep='first')]

因此导致数据集为空。

谢谢。

最佳答案

这是你想要的吗?

In [257]: df[pd.DataFrame(np.sort(df.values), columns=df.columns, index=df.index)
               .duplicated(keep='first')]
Out[257]:
   num1  num2  num3
4     5     1     1

或者如果您需要所有副本:

In [258]: df[pd.DataFrame(np.sort(df.values), columns=df.columns, index=df.index)
               .duplicated(keep=False)]
Out[258]:
   num1  num2  num3
0     1     1     5
4     5     1     1

关于python - 在 Pandas 中查找重复行,其中列值的顺序无关紧要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48156059/

相关文章:

python - 使用 scipy 进行二维插值/平滑线时如何提高性能?

python - 如何将 Scikit-Learn 的 RandomizedSearchCV 与 Tensorflow 的 ImageDataGenerator 结合使用

python - Pandas groupby、累积总和和按类别绘图

python - 使用 pandas GroupBy 聚合字符串列

python - 将对象转换为 pandas 中的字符串后出现关键错误?

python - TensorFlow:卷积网络中的维度不兼容错误

python - 如何在 Keras 中对简历片段进行分类?

python - 如何在 Python 2.7.2 中计算一组 GPS 卫星的 DOP 值?

python - AppEngine - OpenID 登录后尝试重定向到新页面

python - 4d np.array() 的作用类似于 1d np.array()