这里,我们以某个班级不同ID同学,不同科目(Class)的考试成绩(Score)为例。
首先生成一个Dataframe
import pandas as pd
ID = [1,1,1,2,2,2,3,3,3,4,4,4]
Class = ['A','B','C','A','B','C','A','B','C','A','B','C']
score = [90,80,70,60,80,100,90,100,80,70,80,90]
df = pd.DataFrame({'ID':ID,'Class':Class,'Score':score})
df的结构如下:
Python中的运用
如果我们想找到每个同学成绩最低的那门课和得分,我们需要进行groupby操作后加入rank操作,并引入一个新的字段
df['rank'] = df.groupby('ID')['Score'].rank('min')
结果如下,显然这个时候只需要对rank进行筛选即可