如下表所示:
需求是:按subid分组后,求出分数最高的同学的分数及其姓名。
如果按照sql的话,可能是需要做连接的。但如果是pandas,我们看一下是如何实现的:
>>> import pandas as pd
# 读取excel文件
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet3')
>>> df
name score subid
0 bog 45 1
1 jiken 67 1
2 bob 23 2
3 jiken 34 2
4 lucy 98 2
5 tidy 75 1
# 分析,并采用agg函数进行结果分析
>>> dh = df.groupby('subid')['name','score'].agg({'score':'max'}).reset_index()
>>> dh
subid score
name score
0 1 tidy 75
1 2 lucy 98
哈哈,以上就是python小工具和大家分享的案例,有兴趣的话:欢迎关注python小工具。一起感受学习python和pandas的乐趣