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

Python中如何将相同id的分数相加并校验课程测试权重总和是否为100

Python 读取CSV实现分数求和与权重校验方案

前置准备

  • 依赖pandas库完成结构化数据处理,安装命令:pip install pandas
  • 请确认你的CSV包含以下核心字段,若字段命名有差异可在代码中对应替换:id(学生/条目唯一标识)、score(分数)、course(课程名称)、weight(测试项权重)

实现代码

import pandas as pd

# 读取本地CSV文件,替换为你的实际文件路径
df = pd.read_csv("score_data.csv")

# 功能1:按id分组求和所有分数
id_total = df.groupby("id", as_index=False)["score"].sum()
print("===== 各id总分数 =====")
print(id_total)

# 功能2:校验指定课程下所有测试项权重之和是否为100
course_weight_total = df.groupby("course", as_index=False)["weight"].sum()
print("\n===== 权重校验结果 =====")
for _, item in course_weight_total.iterrows():
    if item["weight"] != 100:
        print(f"错误:课程「{item['course']}」权重总和为{item['weight']},不符合100的要求")

补充说明

  • 若只需校验某几门指定课程,可在分组前先过滤数据:df = df[df["course"].isin(["高等数学", "大学物理"])]
  • 若CSV中存在空值,可提前添加清洗逻辑:df = df.dropna(subset=["id", "score", "course", "weight"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:15:03