假设数据如下:
array = [ ['a', 2], ['a', 1], ['a', 0], ['b', 2], ['b', 4], ['b', 6], ] data = pd.DataFrame(array, columns=["name", "age"])数据如下:
name score 0 a 2 1 a 1 2 a 0 3 b 2 4 b 4 5 b 6求每个人的最高分
用transfrom关键字
data['max_socre'] = data.groupby('name')['score'].transform('max') print(data)结果如下
name score max_socre 0 a 2 2 1 a 1 2 2 a 0 2 3 b 2 6 4 b 4 6 5 b 6 6用agg关键字或者直接max
data1 = data.groupby('name')["score"].max().reset_index() data2 = data.groupby('name')["score"].agg('max').reset_index()结果如下
name score 0 a 2 1 b 6