← 返回笔记列表

数据处理 · 学习笔记

按分组汇总数据并核对结果

分组汇总可以把逐条记录变成每个类别的合计。以队伍积分为例,每场记录一行,最后求出每支队伍的总分。

建立简单数据

import pandas as pd

records = pd.DataFrame([
    {"team": "A队", "round": 1, "score": 10},
    {"team": "B队", "round": 1, "score": 8},
    {"team": "A队", "round": 2, "score": 7},
    {"team": "B队", "round": 2, "score": 9},
])

totals = records.groupby("team", as_index=False)["score"].sum()
print(totals.sort_values("score", ascending=False))

核对合计

分组后的总分应等于原始记录的总分。这个检查不能发现所有错误,但能快速发现部分记录遗漏或重复相加的问题。

assert totals["score"].sum() == records["score"].sum()

如果某支队伍缺失,再检查队伍名称是否存在空格、大小写或别名差异。汇总之前统一名称,通常比汇总后手动改结果更可靠。