Pandas:获取重复列的计数并在新列中分配计数值[重复]

xiaoxingxing python 243

原文标题Pandas : Get count of repeating column and assign count value in new column [duplicate]

这个问题在这里已经有了答案:How to assign a name to the size() column? (5 个答案) 35 分钟前关闭。

下面是我的数据。

CompanyEvents   StartDate:year
Event1              2013
Event1              2013
Event1              2011
Event1              2011
Event1              2012
Event2              2015
Event2              2016
Event2              2016
Event2              2017

我想要的结果如下表所示。它应该计算同一事件的重复年数。

CompanyEvents   StartDate:year  StartDate:year_count
Event1          2013                 2
Event1          2013                 2
Event1          2011                 2
Event1          2011                 2
Event1          2012                 1
Event2          2015                 1
Event2          2013                 1
Event2          2016                 2
Event2          2017                 1
Event3          2011                 1

原文链接:https://stackoverflow.com//questions/71477301/pandas-get-count-of-repeating-column-and-assign-count-value-in-new-column

回复

我来回复
  • anon01的头像
    anon01 评论

    您可以为此使用 groupby,transform;它在组操作中返回与原始列大小相同的列:

    df["StartDate:year_count"] = df.groupby("StartDate:year").transform("count")
    

    输出:

      CompanyEvents  StartDate:year  StartDate:year_count
    0        Event1            2013                     2
    1        Event1            2013                     2
    2        Event1            2011                     2
    3        Event1            2011                     2
    4        Event1            2012                     1
    5        Event2            2015                     1
    6        Event2            2016                     2
    7        Event2            2016                     2
    8        Event2            2017                     1
    
    2年前 0条评论
  • Ibrahim Ayoup的头像
    Ibrahim Ayoup 评论

    好了,使用 groupby 和 transform :

    Pandas GroupBy 变换

    df['StartDate:year_count'] = df.groupby('StartDate:year')['StartDate:year'].transform('count')
    
    2年前 0条评论