news 2026/10/20 3:25:27

办公室中的Python课 P16 【透视大师】Pandas:分组与聚合统计 (groupby)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
办公室中的Python课 P16 【透视大师】Pandas:分组与聚合统计 (groupby)

📂 P16 【透视大师】Pandas:分组与聚合统计 (groupby)

🎯 学习目标:

  • 理解分组逻辑:掌握“拆分 (Split) - 应用 (Apply) - 合并 (Combine)”的三个步骤。
  • 基础聚合:按类别计算总和(sum)、平均值(mean)、计数(count)等。
  • 多重统计:学会一次性得出最大值、最小值、中位数等多个指标。
  • AI 协作:利用通义灵码快速生成复杂的部门业绩汇总报告。

🌟 引导词

“在办公室里,老板很少看具体的流水账,他们想看的是:‘各部门的平均工资是多少?’、‘每个季度的销售总额是多少?’、‘哪个地区的退货率最高?’
这种把数据‘打包’并算出统计结果的操作,就是分组与聚合。
以前你可能需要在 Excel 里不停地拉透视表,或者写复杂的SUMIFS函数。在这一课,你将学会如何用一行简洁的代码,瞬间对几万行数据进行多维度‘盘点’。**


一、分组聚合的三步走:Split-Apply-Combine

Pandas 处理groupby的逻辑非常科学:

  1. 拆分 (Split):根据你指定的“列”(如部门),把数据分成 A、B、C 三堆。
  2. 应用 (Apply):对每一堆数据执行计算(如求和、算平均值)。
  3. 合并 (Combine):把结果拼在一起,变回一张整齐的报表。

[Image illustrating the Split-Apply-Combine pattern in Pandas]


二、实战演练:一行代码出报表

假设我们有一个销售表df,包含“部门”、“员工姓名”和“销售额”。

1. 最简单的统计:按部门算总销售额
importpandasaspd# 语法:df.groupby('分组列')['计算列'].计算函数()result=df.groupby('部门')['销售额'].sum()print(result)
2. 同时看多个指标:使用.agg()

如果你想同时看到平均值、最高值和人数:

# agg 是 aggregate(聚合) 的缩写report=df.groupby('部门')['销售额'].agg(['mean','max','count'])print(report)
3. 多维度分组:部门内再分性别
# 传入一个列表即可实现多层级分组multi_report=df.groupby(['部门','性别'])['销售额'].mean()

三、手把手 AI 实战:自动化月报生成

当你遇到复杂的统计需求(如:计算同比增长、占比)时,通义灵码能帮你写出最优雅的写法。

1. Ask 模式:生成复杂的统计脚本
  • 操作:输入指令:

我有一个 df,包含 '日期', '产品类别', '利润'。请帮我写 Pandas 代码:1. 按月份和产品类别分组;2. 计算利润的总和;3. 找出每个月利润最高的产品类别。

  • AI 价值:它会帮你写出pd.Grouper处理日期分组,以及idxmax()这种高级定位函数。
2. Edit 模式:快速格式化汇总表
  • 操作:选中一段groupby的代码。
  • 动作:右键 ->通义灵码->智能编辑。
  • 指令:帮我把生成的汇总结果转换为普通的 DataFrame(使用 reset_index),并重命名列名为 '总利润' 和 '平均单价'。
  • 效果:让统计结果直接变回漂亮的表格格式,方便保存。
3. Agent 模式:全自动汇总并发送
  • 操作:输入/agent。
  • 指令:读取 data 文件夹下所有的 Excel,合并后按‘地区’汇总销售总额,生成一个饼图图片,最后把汇总表保存为 Excel。

🛠️ 课后练习

  1. 新建P16_groupby_report.py。
  2. 模拟实验:
  • 读取一个包含“部门”、“职位”、“工资”的表格。
  • 统计每个部门的平均工资。
  • 统计每个职位的人数。
  • 进阶挑战:计算每个部门中最高工资和最低工资的差额(提示:可以自定义函数或使用agg)。

总结与预告

  • groupby:数据处理的核心指挥官。
  • sum/mean/count:最常用的统计武器。
  • agg:让你的统计报表瞬间变专业。

[下一篇 (P17),我们将进入第二部分的另一个重头戏:Pandas:数据合并与表连接 (Merge & Concat)。你将学会如何把分散在不同文件里的信息,像拼图一样完美地合并在一起(类似于 Excel 的 VLOOKUP,但更强大)!**

👉 您准备好开启“多表联动”的新技能了吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 19:25:43

YimMenuV2:GTA V模组开发框架深度解析

YimMenuV2:GTA V模组开发框架深度解析 【免费下载链接】YimMenuV2 Unfinished WIP 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenuV2 YimMenuV2作为一款专为GTA V游戏模组开发设计的C20框架,为开发者提供了构建高性能游戏插件的完整技…

作者头像 李华
网站建设 2026/10/19 19:25:59

WAN2.2-14B-Rapid-AllInOne:AI视频生成快速入门指南

WAN2.2-14B-Rapid-AllInOne:AI视频生成快速入门指南 【免费下载链接】WAN2.2-14B-Rapid-AllInOne 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/WAN2.2-14B-Rapid-AllInOne 想要在普通电脑上体验专业级AI视频创作吗?WAN2.2-14B-Rapid-Al…

作者头像 李华
网站建设 2026/10/19 19:25:52

springboot中学课堂笔记整理分享系统 小程序

目录已开发项目效果实现截图关于博主开发技术介绍核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发…

作者头像 李华
网站建设 2026/10/18 21:35:55

错过OpenMP 5.3的AI扩展,你的并行程序将落后3代以上

第一章:错过OpenMP 5.3的AI扩展,你的并行程序将落后3代以上现代高性能计算已全面进入异构并行时代,OpenMP 5.3版本引入的关键AI扩展,标志着CPU-GPU协同编程的重大突破。这些扩展不仅增强了对加速器设备的支持,还为深度…

作者头像 李华
网站建设 2026/10/19 20:59:17

Tina Pro v10.0:专业电路仿真软件的革新突破

Tina Pro v10.0:专业电路仿真软件的革新突破 【免费下载链接】TinaProv10.0中文版README **Tina Pro v10.0 中文版** 是DesignSoft公司力推的一款高效电子设计自动化(EDA)工具,专注于电路仿真领域。它支持包括电路直流分析、瞬态分…

作者头像 李华
网站建设 2026/10/19 20:30:08

SAHI切片推理完整指南:从入门到精通掌握预测结果导出

SAHI切片推理完整指南:从入门到精通掌握预测结果导出 【免费下载链接】sahi Framework agnostic sliced/tiled inference interactive ui error analysis plots 项目地址: https://gitcode.com/gh_mirrors/sa/sahi SAHI(Slicing Aided Hyper In…

作者头像 李华