【问题标题】:How to find group-column have duplicate values in a dataframegroup python?如何在数据框组 python 中查找组列具有重复值?
【发布时间】:2022-01-01 03:29:05
【问题描述】:

首先我有一个 df,当我将它与一列分组时,它会删除重复值吗? 其次,如何知道哪个组有重复值(我试图找到如何知道 df 的哪些列有重复值但找不到任何东西,他们只是谈论每个元素如何重复)

ex i have a df like this:
     A    B   C
1    1    2   3
2    1    4   3
3    2    2   2
4    2    3   4
5    2    2   3

after groupby('A')

A    B       C
1    2       3
     4       3
2    2       2
     3       2
     2       3

我想知道A组B复制了多少组,A组复制了多少C组

result:
   B    C
1  1    2

or maybe better can caculate percent

B : 50%
C : 100%

谢谢

【问题讨论】:

    标签: python pandas duplicates pandas-groupby


    【解决方案1】:

    您可以在GroupBy.agg 中使用 lambda 函数来比较不等于组中值数量的唯一值数量。要获得唯一的数量,我们可以使用Series.nuniqueSeries.size 作为组中值的数量。

    df.groupby(level=0).agg(lambda x: x.size!=x.nunique())
    
    #        B      C
    # 1  False   True
    # 2   True  False
    

    【讨论】:

      【解决方案2】:

      让我们试试

      out = df.groupby(level=0).agg(lambda x : x.duplicated().any())
             B      C
      1  False   True
      2   True  False
      

      【讨论】:

      • 谢谢先生,首先我想问一下level=0 是做什么的?然后我的数据似乎运行缓慢(191600 行和 300 如果我将它们分组)。其次,我已经编辑了我的问题,你能帮我吗?
      猜你喜欢
      • 2013-09-07
      • 1970-01-01
      • 2012-05-04
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多