news 2026/6/10 9:31:58

办公室中的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/5/15 20:09:42

如何将任意程序添加到 Windows 右键菜单?一文详解实现方案

无论工作还是学习,用户往往需要频繁调用某些应用程序。 若能将这些程序集成至系统右键菜单中,将显著提升操作效率。 “右键菜单管理工具”正是一款为此设计的实用软件,支持 .exe、.bat、.cmd、.ps1、.vbs、.py 等多种可执行文件及脚本格式。…

作者头像 李华
网站建设 2026/6/10 14:32:16

支持无限多开的酒店小程序源码系统,轻松服务多家客户

温馨提示:文末有资源获取方式详细功能列表:在线订房核心功能:支持多房型管理(如标准间、套房)、动态价格设置(包括旺季折扣)、实时库存更新,客户可以通过日历视图选择日期&#xff0…

作者头像 李华
网站建设 2026/6/10 14:54:23

如何用一套系统,搭建属于你自己的酒店预订平台?

温馨提示:文末有资源获取方式 酒店在线预订已成为标配,但你的商业眼光不应只局限于服务一家酒店。你是否想过,成为那个为众多酒店提供技术解决方案的平台搭建者?今天,我们将深入解析一款能让你实现此愿景的酒店在线订房…

作者头像 李华
网站建设 2026/6/10 15:30:30

基于vTaskDelay的电机控制时序操作指南

用好vTaskDelay,让电机控制不再“卡死”——一个嵌入式工程师的实战笔记你有没有遇到过这种情况:写了一个直流电机启停程序,主循环里加了个delay_ms(2000),结果期间按键没响应、串口收不到命令,连看门狗都差点拉不回来…

作者头像 李华
网站建设 2026/5/24 6:35:56

从零构建高效算子库,昇腾C语言开发必备的5种高阶编程模式

第一章:从零构建高效算子库——昇腾C语言开发概述在人工智能计算领域,昇腾(Ascend)AI处理器凭借其高算力密度和能效比,成为深度学习推理与训练任务的重要硬件平台。基于C语言的算子开发是充分发挥昇腾芯片性能的核心手…

作者头像 李华
网站建设 2026/6/10 16:26:30

15分钟快速上手:AI动画生成新手配置指南

15分钟快速上手:AI动画生成新手配置指南 【免费下载链接】StableAnimator [CVPR2025] We present StableAnimator, the first end-to-end ID-preserving video diffusion framework, which synthesizes high-quality videos without any post-processing, condition…

作者头像 李华