京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Pandas是一种开源Python库,用于数据操作和数据分析。其中的groupby函数可以将数据按指定的列或条件进行分组,这是数据分析中非常常用的功能之一。在pandas分组后,我们可能需要对每个分组进行遍历处理,例如进行统计、计算、筛选等操作。本文将介绍如何在pandas分组后对数据进行遍历处理。
在pandas中,可以使用groupby方法对数据进行分组,该函数返回一个GroupBy对象。GroupBy对象是一个非常强大的对象,它包含了很多有用的方法,可以用来对数据进行聚合、转换、过滤等操作。下面是一个示例,展示如何通过groupby方法分组数据:
import pandas as pd # 创建一个DataFrame data = {'name': ['小明', '小红', '小明', '小红'], 'age': [18, 20, 19, 21], 'city': ['北京', '上海', '广州', '深圳']}
df = pd.DataFrame(data) # 按照name列进行分组 grouped = df.groupby('name')
对于groupby方法分组后的数据,我们可以使用for循环来遍历每个分组。在每次循环中,我们将得到一个元组,其中第一个元素是分组的名称(也就是按照哪个列进行分组),第二个元素是一个DataFrame对象,包含了该分组的所有数据。下面是一个示例:
# 遍历每个分组 for name, group in grouped: print(name) print(group)
输出结果如下:
小明 name age city 0 小明 18 北京 2 小明 19 广州 小红 name age city 1 小红 20 上海 3 小红 21 深圳
在遍历分组后,我们可以对每个分组进行统计计算。例如,我们可以计算每个分组的平均值、最大值、最小值等。在pandas中,我们可以使用agg函数来实现这些操作。agg函数接受一个字典参数,其中键表示要计算的列名称,值表示要进行的计算操作。下面是一个示例:
# 计算每个分组的平均年龄和最大年龄 result = grouped.agg({'age': ['mean', 'max']}) print(result)
输出结果如下:
age
mean max
name
小明 18.500 19
小红 20.500 21
在遍历分组后,我们还可以根据条件筛选分组。例如,我们可以只选择年龄大于等于20岁的分组。在pandas中,我们可以使用filter函数来实现这个操作。filter函数接受一个函数参数,该函数应该返回一个布尔值,表示是否选择该分组。下面是一个示例:
# 筛选年龄大于等于20岁的分组 def filter_func(x): return x['age'].mean() >= 20 result = grouped.filter(filter_func) print(result)
输出结果如下:
name age city 1 小红 20 上海 3 小红 21 深圳
在遍历分组后,我们还可以对每个分组进行转换。例如,我们可以将每个分组的年龄减去该分组的平均年龄。在pandas中,我们可以使用transform函数来实现这个操作。transform函数接受一个函数参数,该函数
应该返回一个与分组大小相同的Series或DataFrame对象。下面是一个示例:
# 将每个分组的年龄减去平均年龄 def transform_func(x):
x['age'] = x['age'] - x['age'].mean() return x
result = grouped.apply(transform_func) print(result)
输出结果如下:
name age city 0 小明 -0.500 北京 1 小红 0.500 上海 2 小明 0.500 广州 3 小红 0.500 深圳
在本文中,我们介绍了如何在pandas分组后对数据进行遍历处理。首先,我们使用groupby方法对数据进行分组。然后,我们可以使用for循环遍历分组,并对每个分组进行统计、筛选、转换等操作。例如,我们可以使用agg函数计算每个分组的平均值、最大值等;使用filter函数根据条件选择分组;使用transform函数对每个分组进行转换。这些操作非常有用,在实际的数据分析和处理中经常会用到。
想快速入门Python数据分析?这门课程适合你!
如果你对Python数据分析感兴趣,但不知从何入手,推荐你学习《山有木兮:Python数据分析极简入门》。这门课程专为初学者设计,内容简洁易懂,手把手教你掌握Python数据分析的核心技能,助你轻松迈出数据分析的第一步。

学习入口:https://edu.cda.cn/goods/show/3429?targetId=5724&preview=0
开启你的Python数据分析之旅,从入门到精通,只需一步!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据分析、用户运营与业务增长的工作体系中,漏斗拆解是最基础也最高频的问题定位方法。很多业务场景下,我们只能看到最终的转 ...
2026-06-17在数据库开发、数据清洗与报表统计场景中,数值类型转换为日期是高频刚需操作。业务系统常以 Unix 时间戳、整型日期(如20240617 ...
2026-06-17 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-06-17【核心关键词】数据库、电商、知识、产品、数据产品、监管业务、产品经理、业务系统、用户行为分析、用户分析、数据分析、电商 ...
2026-06-16在 Python 动态类型与面向对象的编程体系中,变量定义与类实例化是构建代码逻辑的两大核心基石。变量是数据存储、传递与运算的基 ...
2026-06-16 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据和表结构数据有什么区别”“数据类型误判会引发哪些分析错误” ...
2026-06-16在 MySQL 查询性能优化体系中,索引是降低查询耗时、提升数据库吞吐的核心手段。其中联合索引与覆盖索引是实际开发中最高频的两 ...
2026-06-15在数据仓库建设与商业智能分析体系中,维度建模是应用最广泛的建模方法论,而事实表与维度表是维度建模的两大核心构件,共同构成 ...
2026-06-15 很多数据分析师能熟练计算指标,但当被问到“这家企业的核心业务目标是什么”“如何把模糊的战略目标拆解为可量化的指标”“ ...
2026-06-15在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09