【问题标题】:How to check a pandas.Dataframe for duplicate columns?如何检查 pandas.Dataframe 中的重复列?
【发布时间】:2019-03-17 21:53:15
【问题描述】:

我必须处理部分原始、部分提取的数据。我怀疑这两列是重复的。在 SQL 中,我可以做类似的事情

SELECT col1, col2 FROM table where col1 != col2

但是我如何在 Python 中为pandas.Dataframe 执行上述操作?更具体地说,如何比较 csv 文件和/或 Dataframe 对象的两列,然后查看符合或不符合我的比较标准的值或行。

【问题讨论】:

    标签: python python-3.x pandas csv duplicates


    【解决方案1】:

    如果您只是想在两列中删除包含相同值的行,您可以对多个条件使用语法df[df.col1 == df.col2]df[(df.col1 == df.col2) & (df.col1 == 'some_value') & ...]

    如果您想在所有行之间进行比较,请使用 df.drop_duplicates()

    如果您要比较整个列,请使用df['col1'].equals(df['col2'])

    【讨论】:

      【解决方案2】:

      对于这个示例数据框:

         Val1  Val2  Val3
      0     1     2     3
      1     1     1     3
      2     3     2     1
      3     2     2     2
      4     1     2     3
      5     2     2     2
      6     1     1     3
      

      您可以找到Val1 列值等于Val2 列值的行:

      df[df['Val1']==df['Val2']]
      

      产量:

         Val1  Val2  Val3
      1     1     1     3
      3     2     2     2
      5     2     2     2
      6     1     1     3
      

      或者如果你想要!=:

      df[df['Val1']!=df['Val2']]
      

      产量:

         Val1  Val2  Val3
      0     1     2     3
      2     3     2     1
      4     1     2     3
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-04
        • 2011-09-21
        • 2021-01-12
        • 2018-08-08
        • 1970-01-01
        相关资源
        最近更新 更多