数据处理 · 学习笔记
按分组汇总数据并核对结果
分组汇总可以把逐条记录变成每个类别的合计。以队伍积分为例,每场记录一行,最后求出每支队伍的总分。
建立简单数据
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()
如果某支队伍缺失,再检查队伍名称是否存在空格、大小写或别名差异。汇总之前统一名称,通常比汇总后手动改结果更可靠。