查找分组数据框中的最大计数

时间:2018-07-13 08:55:33

标签: python pandas data-science

我有一个数据框,其中包含足球数据,其中包括球员姓名,俱乐部,国籍和等级。我已应用groupby函数按俱乐部和国籍对数据进行分组,并计算了计数,最小值,最大值和平均值。 five column table

现在,我需要显示该俱乐部和最多俱乐部数目的国家。例如,霍芬海姆(Hoffenheim)有10名德国国民,这是俱乐部最多的人数。我该怎么办?

1 个答案:

答案 0 :(得分:1)

我认为需要groupbyidxmax的第一级{{3}},然后按MultiIndex选择行:

loc

详细信息

df = pd.DataFrame({'club':list('AABBCC'),
                   'min':[4,5,4,5,5,4],
                   'mean':[7,8,9,4,2,3],
                   'max':[1,3,5,7,1,0],
                   'count':[5,3,6,9,2,4],
                   'nationality':list('aaabbb')}).set_index(['club','nationality'])

print (df)
                  min  mean  max  count
club nationality                       
A    a              4     7    1      5
     a              5     8    3      3
B    a              4     9    5      6
     b              5     4    7      9
C    b              5     2    1      2
     b              4     3    0      4

df = df.loc[df.groupby(level=1)['count'].idxmax()]
print (df)
                  min  mean  max  count
club nationality                       
B    a              4     9    5      6
     b              5     4    7      9