Pandas:获取重复列的计数并在新列中分配计数值[重复]
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
回复
我来回复-
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年前 -
Ibrahim Ayoup 评论
好了,使用 groupby 和 transform :
Pandas GroupBy 变换
df['StartDate:year_count'] = df.groupby('StartDate:year')['StartDate:year'].transform('count')
2年前