pandas 透视表基础

618 字
3 分钟
pandas 透视表基础

pandas 透视表基础#

透视表适合把明细数据整理成二维汇总结果。比如按月份和分类统计销售额、按班级和性别统计人数、按模型和数据集比较指标。

它的价值是把 groupby、聚合和 reshape 合在一起,让结果更接近报表形态。

最小示例#

table = pd.pivot_table(
df,
index="month",
columns="category",
values="amount",
aggfunc="sum",
fill_value=0,
margins=True,
)
print(table)

index 是行维度,columns 是列维度,values 是被统计的数值字段,aggfunc 决定怎么算。

什么时候比 groupby 更方便#

如果结果需要给人阅读,透视表更直观;如果后续还要继续链式处理,groupby 可能更灵活。两者不是替代关系,而是输出形态不同。

多指标统计#

table = pd.pivot_table(
df,
index="category",
values=["amount", "quantity"],
aggfunc={"amount": "sum", "quantity": "mean"},
)
print(table)

检查结果#

  • 汇总总额是否和原表一致。

  • 空值是否应该填 0,还是保留缺失。

  • 分类数量是否异常变多,可能存在空格或大小写问题。

  • margins=True 的合计是否符合业务口径。

实战复盘#

复用《pandas 透视表基础》时,不要只复制代码块。先把自己的字段名、数据口径和异常规则写出来,再替换示例里的列名。pandas 的函数很通用,但业务字段的含义不能自动迁移。

每次处理完成后,我会抽样看几条原始记录和处理后记录。尤其是日期、金额、分类字段,机器统计和肉眼抽查要一起做,才能发现格式看似正常但含义错位的问题。

这类文章后续可以继续补充真实小表格作为输入示例。输入、处理、输出三者都出现,教程才不会变成只解释 API。

最小验收样例#

验收《pandas 透视表基础》时,我会手写一个三到五行的小 DataFrame:一行正常数据,一行缺失或异常数据,一行边界数据。先让示例在小表上跑通,再换成完整数据集。

小表的好处是结果可以人工计算。只要人工结果和 pandas 输出对不上,就说明代码逻辑或字段口径还没想清楚。这个过程比直接在大表上调试更可靠。

小结#

透视表适合把明细表变成可读报表。写之前先想清楚行维度、列维度、指标和聚合方式,结果会稳定很多。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

pandas 透视表基础
https://blog.tjcheng.cn/posts/backfill/2026-05-17/pandas-pivot-table-note/
作者
TengJinCheng
发布于
2026-05-17
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
TengJinCheng
Hello, I'm Teng.
公告
欢迎来到TengJinCheng工作铺!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
157
分类
7
标签
114
总字数
109,939
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.4
文章许可
CC BY-NC-SA 4.0

文章目录