You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas合并DataFrame中同姓名班级的重复记录并汇总分数?

解决方法

核心思路是按Class和Name分组,对Score列求和,同时先处理原始数据里班级格式不一致的问题(比如3BI.这类带多余后缀的情况),确保分组准确。

步骤1:读取CSV数据

先确保你已经导入pandas并读取了目标CSV文件:

import pandas as pd

# 替换成你的CSV文件路径
df = pd.read_csv('your_data.csv')

步骤2:清理班级列格式

原始数据中Liam的班级存在3BI和3BI.两种写法,需要统一格式:

# 去除Class列末尾的点号
df['Class'] = df['Class'].str.rstrip('.')

步骤3:分组求和生成目标DataFrame

按Class和Name作为分组依据,对Score列求和,最后重置索引得到结构规整的结果:

result_df = df.groupby(['Class', 'Name'], as_index=False)['Score'].sum()

最终结果示例

运行上述代码后,result_df会输出你期望的结果:

Class    Name  Score
0   3BI    Liam     36
1   3CI    Lucas     34
2   3CI     Noah     21
3   3FI  Oliver     17

完整代码

import pandas as pd

# 读取数据
df = pd.read_csv('your_data.csv')

# 统一班级格式
df['Class'] = df['Class'].str.rstrip('.')

# 分组计算总分
result_df = df.groupby(['Class', 'Name'], as_index=False)['Score'].sum()

# 打印结果
print(result_df)

内容的提问来源于stack exchange,提问作者Matteo Gandini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 21:22:44