【发布时间】:2021-11-23 18:28:28
【问题描述】:
我在计算一些期末考试成绩时遇到了问题。我需要按学生分组,只获取每个学生每列中的最高值。
作为 DF 数据框:
data = {'Students': ['Student1', 'Student1', 'Student1', 'Student2','Student2','Studen3'],
'Result1': [2, 4, 5, 8, 2, 5],
'Result2': [5, 3, 2, 8, 5, 5],
'Result3': [7, 5, 7, 3, 8, 9]}
df = pd.DataFrame(data)
Students Result1 Result2 Result3
0 Student1 2 5 7
1 Student1 4 3 5
2 Student1 5 2 7
3 Student2 8 8 3
4 Student2 2 5 8
5 Studen3 5 5 9
我需要生成一个 DF,为每个学生在每个结果中选择较高的分数。
所以,最终的 DF 应该是这样的:
Students Result1 Result2 Result3
0 Student1 5 5 7
1 Student2 8 8 8
2 Student3 5 5 9
有什么帮助吗?
【问题讨论】:
-
df.groupby('Students').max()? -
看起来像
df.groupby('Students', as_index=False, sort=False).agg('max') -
是的!这很简单!不知道我在想什么...jeje 谢谢!
标签: python pandas pandas-groupby