首页 游戏 软件 资讯 排行榜 专题
首页
业界动态
Pandas 进阶四:数据筛选/分组/聚合,比 Excel 快十倍的操作技巧

Pandas 进阶四:数据筛选/分组/聚合,比 Excel 快十倍的操作技巧

热心网友
97
转载
2026-04-22

从筛选到统计:用Pandas进阶技巧,让数据处理效率翻倍

掌握了Pandas的基础操作后,面对实际工作中纷繁复杂的数据,你是否感觉还差那么一点“精准控制”的能力?比如,从海量记录中快速捞出目标数据、按照不同维度进行归类统计、一键生成多维度的汇总报表……这些在Excel里需要反复点击鼠标、嵌套公式的繁琐操作,恰恰是Pandas大显身手的舞台。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

今天,我们就来深入三个核心的进阶技能:数据筛选数据分组数据聚合。全程围绕一个模拟的“电商订单数据”场景展开,确保你看得懂、学得会、跟着代码跑一遍就能上手。

一、先准备测试数据

光说不练假把式。为了让大家有最直观的感受,我们直接生成一份模拟的电商订单数据,里面包含了订单号、用户、商品类别、金额、时间等典型字段。运行下面这段代码,你的实战数据集就有了:

import pandas as pd
import numpy as np

# 生成测试数据(共10条订单记录)
data = {
    '订单号': ['OD001', 'OD002', 'OD003', 'OD004', 'OD005', 'OD006', 'OD007', 'OD008', 'OD009', 'OD010'],
    '用户ID': ['U001', 'U002', 'U001', 'U003', 'U002', 'U001', 'U003', 'U004', 'U004', 'U002'],
    '商品类别': ['电子产品', '服装', '电子产品', '食品', '服装', '食品', '电子产品', '服装', '食品', '电子产品'],
    '消费金额': [2999, 599, 1599, 199, 899, 299, 3999, 499, 399, 1299],
    '支付时间': pd.date_range('2024-01-01', periods=10, freq='D'),
    '是否好评': [True, False, True, True, False, True, False, True, True, False]
}
df = pd.DataFrame(data)
print("测试数据:")
print(df)

运行后会得到一个清晰的DataFrame表格,接下来所有的操作都将基于这份数据展开,你可以随时复制代码进行验证。

二、数据筛选:精准挑出你要的记录

筛选,说白了就是从表格里“捞”出符合条件的行。这就像在Excel里使用筛选功能,但Pandas的语法更灵活、表达能力更强。比如,“找出所有消费超过1000元的大单”或者“筛选出电子产品类的好评订单”,都只需一行代码。

1. 单条件筛选(基础款)

基本语法是 df[df[‘列名’] 条件表达式]。举个例子,想要所有消费金额大于1000的订单,代码是这样:

# 筛选消费金额>1000的订单
high_amount_orders = df[df['消费金额'] > 1000]
print("消费金额>1000的订单:")
print(high_amount_orders)

看,符合条件的记录瞬间就被提取出来了。同样的思路,筛选特定商品类别或者某个日期之后的订单,举一反三即可:

clothes_orders = df[df['商品类别'] == '服装']  # 注意这里是双等号==
recent_orders = df[df['支付时间'] > '2024-01-05']

2. 多条件筛选(实用款)

真实场景很少只有一个条件。通常我们需要“且”或者“或”的逻辑组合。这里要记住两个关键符号:& 表示“且”,| 表示“或”。注意,每个条件都需要用括号括起来。

比如,想找“商品是电子产品且消费超过2000”的订单:

# 多条件(且)筛选
high_electronics = df[(df['商品类别'] == '电子产品') & (df['消费金额'] > 2000)]
print("电子产品且消费金额>2000的订单:")
print(high_electronics)

再比如,想找“用户是U001或者订单给了好评”的记录:

# 多条件(或)筛选
u001_or_good = df[(df['用户ID'] == 'U001') | (df['是否好评'] == True)]
print("用户U001或好评的订单:")
print(u001_or_good)

这里有个新手常踩的坑:多条件连接必须用 &|,而不是Python关键字 and/or。记住这一点,能避免很多奇怪的报错。

三、数据分组:按类别归类(groupby核心)

分组是数据分析的灵魂。它的作用是将数据按照某个或某几个字段的类别拆分开,相当于Excel数据透视表里的“行标签”。拆分之后,我们就能对每个小组进行单独分析。

1. 基础分组:按单个字段分组

最直接的,按“商品类别”分组,看看每个品类有多少订单:

# 按商品类别分组,统计每组的订单数量
category_count = df.groupby('商品类别').size()
print("各商品类别的订单数量:")
print(category_count)

分组本身并不产生具体结果,它返回的是一个“分组对象”。必须结合聚合函数(比如size()计数、sum()求和),才能得到我们想要的计算值。再比如,计算每个用户的总消费金额:

# 按用户ID分组,计算每组的消费金额总和
user_total = df.groupby('用户ID')['消费金额'].sum()
print("各用户的总消费金额:")
print(user_total)

2. 按多个字段分组

如果想看得更细,可以进行多级分组。例如,同时按照“商品类别”和“是否好评”分组,计算每个组合的平均消费金额:

# 按“商品类别+是否好评”双字段分组,计算平均消费金额
category_rating_a vg = df.groupby(['商品类别', '是否好评'])['消费金额'].mean()
print("各商品类别+好评状态的平均消费金额:")
print(category_rating_a vg)

结果会清晰地展示出每个细分群体的状况。如果某个组合没有数据(比如食品类没有差评订单),则会显示为NaN,这非常合理。

三、数据聚合:对分组后的数据计算(常用聚合函数)

分组之后,就要算账了。聚合就是对各个分组进行统计计算,比如求和、平均、最大值、最小值等。Pandas提供了一整套聚合函数,日常掌握几个最常用的就够了。

1. 实战:多聚合函数一起用

一个强大的功能是,可以一次性对同一个分组计算多个指标。比如,按商品类别分组,同时计算订单数、总金额、平均金额和最高金额:

# 按商品类别分组,对消费金额列同时应用多个聚合函数
category_agg = df.groupby('商品类别')['消费金额'].agg(
    订单数='size',
    总消费金额='sum',
    平均消费金额='mean',
    最高消费金额='max'
).reset_index() # 重置索引让表格更美观
print("各商品类别的聚合统计:")
print(category_agg)

看看这个结果,是不是像极了一个功能完善的数据透视表?而这在Excel里可能需要插入好几列公式,在Pandas里却是一行代码的事。

四、综合实战:筛选+分组+聚合

现在,我们把前面学的技能串起来,解决一个实际的业务问题:“分析2024年1月5日之后各商品类别的好评情况,包括订单数、好评数和好评率”

思路拆解:先按时间筛选,再按类别分组,最后在组内进行统计和计算。

# 1. 筛选2024-01-05之后的订单
filtered_df = df[df['支付时间'] > '2024-01-05']

# 2. 按商品类别分组,统计好评数和总订单数
agg_result = filtered_df.groupby('商品类别')['是否好评'].agg(
    总订单数='size',
    好评数=lambda x: (x == True).sum()  # 使用lambda自定义函数统计True的个数
)

# 3. 计算好评率(保留2位小数)
agg_result['好评率'] = (agg_result['好评数'] / agg_result['总订单数']).round(2)

# 4. 重置索引
agg_result = agg_result.reset_index()
print("2024-01-05后各商品类别的好评统计:")
print(agg_result)

通过这样一个完整的流程,从原始数据到清晰的业务洞察,几步就完成了。这种将复杂问题分解为“筛选-分组-聚合”流水线式处理的能力,正是Pandas高效性的体现。

五、新手必记:核心语法速查表

六、总结

走完这一趟,我们其实已经掌握了用Pandas进行日常数据分析的核心链路:

数据筛选让你能精准定位目标数据;数据分组为你提供了观察数据的不同维度视角;数据聚合则负责将分组后的洞察转化为具体的统计数字。

这三个技能的组合,足以应对绝大多数报表生成、数据汇总和初步分析的场景。其效率和灵活性远超手动操作,一旦熟练掌握,你处理数据的方式将彻底改变。剩下的,就是多练习,把这些代码变成你的肌肉记忆。

来源:https://www.51cto.com/article/834809.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Pandas 进阶四:数据筛选/分组/聚合,比 Excel 快十倍的操作技巧
业界动态
Pandas 进阶四:数据筛选/分组/聚合,比 Excel 快十倍的操作技巧

从筛选到统计:用Pandas进阶技巧,让数据处理效率翻倍 掌握了Pandas的基础操作后,面对实际工作中纷繁复杂的数据,你是否感觉还差那么一点“精准控制”的能力?比如,从海量记录中快速捞出目标数据、按照不同维度进行归类统计、一键生成多维度的汇总报表……这些在Excel里需要反复点击鼠标、嵌套公式的繁

热心网友
04.22
解限机玛什马克模式必知的事情有哪些-解限机玛什马克模式有哪些必须知道的事情
游戏资讯
解限机玛什马克模式必知的事情有哪些-解限机玛什马克模式有哪些必须知道的事情

模式概述 玛什马克模式,堪称《解限机》里一道独特的风景线。它完全碘伏了常规玩法,带来一套全新的规则和体验。想要在这里站稳脚跟,光有操作可不够,策略和临场应变能力才是真正的试金石。 角色与技能 在这个模式里,选对角色、用对技能,往往能起到事半功倍的效果。每个角色都拥有专属于玛什马克模式的独特技能组,包

热心网友
04.22
手机如何处理WPS格式文档
手机教程
手机如何处理WPS格式文档

在手机上玩转WPS文档:一份高效操作指南 如今,手机早已不止是通讯工具,更是我们随身的移动办公室。其中,WPS格式文档凭借其出色的兼容性和全面的功能,几乎成了移动办公的标配。但你真的会用手机高效处理它们吗?下面这份操作指南,或许能帮你解锁更多便捷技巧。 文档的打开与新建 一切操作都从这里开始。在手机

热心网友
04.21
古今2风起蓬莱幻境通关方法-古今2风起蓬莱幻境如何通关
游戏攻略
古今2风起蓬莱幻境通关方法-古今2风起蓬莱幻境如何通关

一、关卡概述 在《古今2》众多高难度副本中,“风起蓬莱幻境”以其独特的挑战性备受玩家关注。这个副本不仅考验玩家的角色练度与装备强度,更对团队策略协作与个人操作细节提出了极高要求。其场景设计瑰丽奇幻,但内部怪物机制复杂、强度不俗,堪称检验玩家综合实力的试金石。想要成功通关,必须对队伍配置、怪物特性和技

热心网友
04.20
破晓的曙光英雄阵容怎么搭配-破晓的曙光英雄阵容搭配推荐
游戏攻略
破晓的曙光英雄阵容怎么搭配-破晓的曙光英雄阵容搭配推荐

破晓曙光最强阵容搭配攻略:从入门到精通的核心思路 面对游戏中繁多的英雄选择,许多玩家都会感到迷茫。阵容搭配虽无固定公式,但掌握核心逻辑便能从“凑合能用”进阶到“强势好用”。其精髓在于灵活应变——根据敌方阵容的具体构成,动态调整我方上阵英雄,从而最大化发挥每个棋子的独特价值。 一套稳健的阵容,通常需要

热心网友
04.20

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

腾讯:QQ 将全面接入微信小程序,建议开发者尽快迁移降低维护成本
手机教程
腾讯:QQ 将全面接入微信小程序,建议开发者尽快迁移降低维护成本

腾讯生态整合新动向:QQ全面接入微信小程序 7月1日,腾讯QQ小程序开发者平台发布了一项重要更新。核心内容是,为了帮助开发者降低双端开发与维护成本,QQ将全面接入微信小程序体系。这意味着,未来用户可以直接在QQ内搜索并打开微信小程序。 对于现有的存量QQ小程序,此次调整并未“一刀切”。它们目前仍可正

热心网友
04.22
天玑9600/9600 Pro双芯齐发:5GHz主频史无前例 硬刚高通骁龙8E6
手机教程
天玑9600/9600 Pro双芯齐发:5GHz主频史无前例 硬刚高通骁龙8E6

下半年芯片市场巅峰对决提前揭幕 今年下半年,全球芯片市场的战火将空前炽热。两位重量级选手——联发科与高通,已经准备好亮出各自的王牌。天玑9600系列与骁龙8E6系列,这两大迭代旗舰平台的正面交锋,注定会成为今年科技行业最值得关注的戏码。 双芯策略:精准卡位旗舰市场 有意思的是,联发科这次玩了个新花样

热心网友
04.22
微信好友申请为何能通过搜索qq号添加
手机教程
微信好友申请为何能通过搜索qq号添加

在当今数字化社交的时代,微信已成为人们日常沟通交流的重要工具。不少人都发现,微信好友申请居然可以通过搜索 qq 号来添加,这背后有着诸多有趣的原因和便利之处。 一、社交关系的延续与拓展 要知道,微信与QQ同属腾讯旗下,两者之间存在着千丝万缕的联系。很多用户的社交关系其实根植于QQ时代,那些好友列表里

热心网友
04.22
高德地图如何更改定位
手机教程
高德地图如何更改定位

高德地图如何更改定位?三种方法详解及注意事项 无论是日常通勤、外出旅行还是朋友相聚,高德地图已经成了我们依赖的“导航神器”,精准定位和路线规划是其核心功能。不过,现实场景有时会有点特殊——比如,你可能需要模拟一个位置来测试应用,或者在某个游戏中“签到”,又或者只是想和朋友开个无伤大雅的玩笑。这个时候

热心网友
04.22
巧学宝app如何绑定手机号
手机教程
巧学宝app如何绑定手机号

巧学宝App绑定手机号全程指南 在巧学宝App上完成手机号绑定,是解锁其完整功能的关键一步。这个看似简单的操作,能为你后续的学习之旅带来不少实实在在的便利。那么,该如何快速搞定呢?下面这张流程图,能帮你一眼看清完整的操作路径。 第一步:进入个人中心 首先,打开你的巧学宝App。进入主界面后,注意力可

热心网友
04.22