美文网首页
pandas dataframe groupby

pandas dataframe groupby

作者: DaydayHoliday | 来源:发表于2019-05-06 10:29 被阅读0次

先说一下最近一两天困扰我的问题,有这样一张数学成绩表

   class name       math
0      1   sA  98.547175
1      1   sB  70.360566
2      1   sC  31.812324
3      1   sD  98.073949
4      2   sE  90.765813
5      2   sF  91.681890
6      2   sG   0.907554
7      3   sH  26.523481
8      3   sI  59.072579

我想找到每个班数学成绩最好的同学叫什么,该怎么实现呢?
这是我研究了两天搞出的答案【惭愧,人艰不拆】

idxes=df.groupby('class')['math'].idxmax
print(df.iloc[idxes])

有更好的答案可以告诉我
完整的代码是:

import pandas as pd
import numpy as np
classes=[1]*4+[2]*3+[3]*2
names=['s'+chr(ord('A')+i) for i in range(9)]
math=np.random.rand(9)*100
df=pd.DataFrame()
df['class']=classes
df['name']=names
df['math']=math
print(df)
idxes=df.groupby('class')['math'].idxmax
print(df.iloc[idxes])

相关文章

网友评论

      本文标题:pandas dataframe groupby

      本文链接:https://www.haomeiwen.com/subject/nzvloqtx.html