【问题标题】:How to remove duplicate values using pandas and keep any one [duplicate]如何使用熊猫删除重复值并保留任何一个[重复]
【发布时间】:2021-01-19 01:55:26
【问题描述】:

我有一个看起来像这样的数据框:

A       B       C       D       E
a       aa      1       2       3
b       aa      4       5       6
c       cc      7       8       9
d       cc      11      10      3
e       dd      71      81      91

因为行 (1,2) 和行 (3,4) 具有重复的值 column B。我只想保留其中一个。

最终输出应该是:

A       B       C       D       E
a       aa      1       2       3
c       cc      7       8       9
e       dd      71      81      91

我如何使用 pandas 来完成这项工作?

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    试试drop_duplicates

    df = df.drop_duplicates('B')
       A   B   C   D   E
    0  a  aa   1   2   3
    2  c  cc   7   8   9
    4  e  dd  71  81  91
    

    【讨论】:

      【解决方案2】:
      DataFrame.drop_duplicates(subset="B", keep='first')
      

      keep:keep是控制如何考虑重复值。

      1. 它只有三个不同的值,默认值是'first'。

      2. 如果是'first',它认为第一个值是唯一的,其余相同的值是重复的。

      3. 如果是'last',它认为最后一个值是唯一的,其余相同的值是重复的。 如果为 False,则将所有相同的值视为重复值

      【讨论】:

        【解决方案3】:

        在一般情况下, 我们需要跨越多个列。在这种情况下,您需要按照以下方式使用

        df.drop_duplicates(subset=['A', 'C'], keep=First)
        

        我们在子集参数中指定列名,并使用 keep 参数来说明我们需要保留的内容

        • first :删除除第一次出现的重复项。

        • last :删除除最后一次出现的重复项。

        • False : 删除所有重复项。

        【讨论】:

          猜你喜欢
          • 2020-03-05
          • 1970-01-01
          • 2015-09-27
          • 1970-01-01
          • 2021-08-31
          • 1970-01-01
          • 2016-02-11
          • 2011-08-31
          • 2016-09-18
          相关资源
          最近更新 更多