我如何计算 pandas 中每组的行数?

2022-02-26 00:00:00 python pandas pandas-groupby

问题描述

我有几位奥斯卡获奖者的数据集。我有以下几栏:获奖者姓名、奖项、出生地、出生日期和年份。我想检查一下每年有多少排被填满。让我们说,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'})

相关文章