我如何计算 pandas 中每组的行数?
问题描述
我有几位奥斯卡获奖者的数据集。我有以下几栏:获奖者姓名、奖项、出生地、出生日期和年份。我想检查一下每年有多少排被填满。让我们说,2005年我们有最佳导演和最佳男演员的获胜者,2006年我们有最佳男配角的获胜者。我想得到这样的结果:
年奖 ; ;行数2005 ; ; ; ;2
2006年 ; ;1
它看起来很简单,但我做不对。我发现的大多数帖子都推荐使用group by和count()的组合。 但是,当我编写下面的代码时,我得到了所有列的行数。所以我用行数填充了年份和其他4列。
df.groupby(['year_of_award']).count()
如何才能只获取年份和行数?
解决方案
尝试 pandas 0.25+
df.groupby(['year_of_award']).agg(number_of_rows=('award': 'count'))
否则
df.groupby(['year_of_award']).agg({'award': 'count'}).rename(columns={'count': 'number_of_rows'})
相关文章