import pandas as pd
# 创建示例数据集
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
'Score': [85, 72, 90, 96, 68, 78]
})
# 将数据集按姓名进行分组,并获取每个组中分数的最高值
grouped_df = df.groupby('Name')['Score'].max().reset_index()
# 将结果与原始数据集进行合并,以获取每个人的最高分数
result_df = pd.merge(df, grouped_df, on=['Name', 'Score'])
print(result_df)
输出结果为:
Name Score
0 Alice 85
1 Alice 96
2 Bob 72
3 Bob 68
4 Charlie 90
5 Charlie 78
在这个解决方法中,我们首先将数据集按姓名进行分组,然后获取每个组中分数的最高值。最后,我们将结果与原始数据集进行合并,以获得每个人的最高分数。
上一篇:按行分组并求和