我试图了解/使用熊猫的GROUPBY将各组内获得最大的计数,然后用最大计数Python的大熊猫GROUPBY行为
df = pd.DataFrame({'name':['alpha','beta','gamma','delta','epsilon'], 'year':[2000,2001,2000,2001,2000], 'count':[1,25,11,20,8]})
df
count name year
0 1 alpha 2000
1 25 beta 2001
2 11 gamma 2000
3 20 delta 2001
4 8 epsilon 2000
df.groupby('year').max()
count name
year
2000 11 gamma
2001 25 delta
我通过一年,但我的分组返回的行像输出d的样子:
count name
year
2000 11 gamma
2001 25 beta
所以,我想从每个组返回整行(由“年”)的基础上最大计数。我也不清楚2001年为什么在名称而不是“测试版”中返回“三角洲”(正如我所期望的那样)。
它给出delta的原因是,当你直接对groupby对象执行'.max()'时,它会为每列分别计算最大值。 '“delta”在字母表后面,因此“大于”'“beta”'。 – BrenBarn 2014-09-12 19:38:13