【问题标题】:How to count the number of occurrences of semi-duplicate rows and make the count a new column如何计算半重复行的出现次数并使计数成为新列
【发布时间】:2020-07-10 06:10:03
【问题描述】:

我有一个熊猫数据框如下:

df = pd.DataFrame({'A':[4, 4, 1, 5, 1, 1],
                   'B':[2, 2, 2, 5, 2, 2],
                   'C':[1, 1, 3, 5, 3, 3],
                   'D':['q', 'e', 'r', 'y', 'u',' w']})

看起来像


    A   B   C   D
0   4   2   1   q
1   4   2   1   e
2   1   2   3   r
3   5   5   5   y
4   1   2   3   u
5   1   2   3   w

我想添加一个新列,它是重复行的计数,仅涉及 A、B 和 C 列。这看起来像


    A   B   C   D   Count
0   4   2   1   q   2
1   4   2   1   e   2
2   1   2   3   r   3
3   5   5   5   y   1
4   1   2   3   u   3
5   1   2   3   w   3

我猜这将类似于 df.groupby(['A','B','C']).size() 但我不确定如何将值映射回新的 'Count'柱子。谢谢!

【问题讨论】:

    标签: python pandas pandas-groupby


    【解决方案1】:

    我们可以transform

    df['Count'] = df.groupby(['A','B','C']).D.transform('count')
    df['Count']
    0    2
    1    2
    2    3
    3    1
    4    3
    5    3
    Name: Count, dtype: int64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多