别再低效筛选数据了!试试pandas query函数

Pandas Query 方法深度总结 大多数 Pandas 用户都熟悉 iloc[] 和 loc[] 索引器方法,用于从 Pandas DataFrame 中检索行和列。但是随着检索数据的规则变得越来越复杂,这些方法也随之变得更加复杂而臃肿。 同时 SQL 也是我们经常接触且较为熟悉的语言,那么为什么不使用类似于 SQL 的东西来查询我们的数据呢 事实证明实际上可以使用 query() 方法做到这一点。因此,在今天的文章中,我们将展示如何使用 query() 方法对数据框执行查询 获取数据 我们使用 kaggle 上的 Titanic 数据集作 阅读详情
AI摘要

本文介绍了如何使用pandas的query函数进行数据过滤,包括比较、多条件组合、模糊查询和匹配列表,展示了在Python数据分析中的应用,以提升数据质量和分析效率。,

数据过滤在数据分析过程中具有极其重要的地位,因为在真实世界的数据集中,往往存在重复、缺失或异常的数据。
pandas提供的数据过滤功能可以帮助我们轻松地识别和处理这些问题数据,从而确保数据的质量和准确性。

今天介绍的query函数,为我们提供了强大灵活的数据过滤方式,有助于从复杂的数据集中提取有价值的信息,提高分析的效率。

1. 准备数据

下面的示例中使用的数据采集自链家网的真实房屋成交数据。
数据下载地址:databook.top/。

导入数据:

python
复制代码
import pandas as pd

fp = "D:/data/南京二手房交易/南京建邺区.csv"

df = pd.read_csv(fp)
df.head()

image.png

2. query 使用示例

query提供的查询接口非常灵活,可以用类似sql的方式组合查询条件。

2.1. 比较

比较是最常用的过滤手段,
比如:相等比较,检索2023年3月1日的成交数据。

python
复制代码
df.query('dealDate == "2023.03.01"').head()

image.png

同样,也可以进行大于或者小于的比较:

python
复制代码
# 成交总价大于1000万的房屋
df.query('totalPrice > 1000').head()

image.png

python
复制代码
# 成交总价小于100万的房屋
df.query('totalPrice < 100').head()

image.png

2.2. 多条件组合

在query函数中组合查询条件也非常简单,它的查询字符串中可以直接使用逻辑运算符。
比如,逻辑与的查询,用 & 来连接查询条件。

python
复制代码
# 总价大于1000万,且每平米单价小于6万的房屋
df.query('totalPrice > 1000 & unitPrice < 60000').head()

image.png

逻辑或的查询,用|来连接查询条件。

python
复制代码
# 总价小于200万,或者每平米单价小于3万的房屋
df.query('totalPrice < 200 | unitPrice < 30000').head()

image.png
因为是逻辑或,两个条件满足一个就行,所以查询出的数据有总价大于200万,也有单价大于3万的数据。

还有一个逻辑非的运算,用 not 关键字来表示。

2.3. 模糊查询

除了比较,也可以对字符串进行模糊查询,类似sql中的LIKE检索。
比如,查询名称包含万科的楼盘。

python
复制代码
# 名称包含万科
df.query('name.str.contains("万科")').head(5)

image.png

包含的字符串也支持正则表达式匹配,比如,查询万科楼盘中3室的房屋。

python
复制代码
df.query('name.str.contains("万科.*3室")').head(5)

image.png

2.4. 匹配列表

查询时,可以匹配某个列表中的一项,类似于SQL中的IN检索。
比如,查询任意三个日期的房屋成交信息,且总价大于500万。

python
复制代码
dates = ["2023.02.28", "2022.12.11", "2022.04.10"]
df.query('totalPrice > 600 & dealDate == @dates').head(5)

image.png

3. 总结

pandas的DataFrame提供了各种过滤检索数据的方式,与之相比,query函数允许用户以字符串的形式对DataFrame进行查询操作。
这样的好处有:

  1. 直观易读:类似SQL的语法,且查询语句以字符串形式表示,易于理解和阅读,有助于提高代码的可读性
  2. 灵活性高:支持复杂的查询条件,可以通过逻辑运算符组合多个条件,也支持模糊的匹配方式
  3. 减少代码量:可以减少编写过滤和条件判断的代码量,使代码更加简洁
  4. 易于调试:由于查询语句以字符串形式表示,因此在调试过程中可以轻松地打印和查看查询条件

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

Pandas遍历性能陷阱与向量化优化实战指南 DataFrame遍历是数据分析中高频但高危的操作,其本质是Python解释器开销与NumPy底层效率之间的冲突。理解iterrows、itertuples、values等机制的内存分配、类型转换和GIL影响,是规避CPU飙升与OOM的关键。vectorized operations通过Cython/Numpy实现批量计算,性能通常提升数十至数百倍;而itertuples作为I/O密集型场景的折中选择,在保持可读性的同时大幅降低对象构造成本。本文聚焦电商、风控、用户分群等典型业务场景,结合真实故障案例,系统 阅读详情

相关推荐

Polars vs Pandas:列式存储、懒执行与多线程如何重构大数据处理范式

DataFrame 是数据科学最基础的抽象概念,其底层实现方式直接决定大规模分析的性能上限。传统行式存储与即时执行模型在千万级数据上遭遇CPU单核瓶颈和内存带宽浪费;而基于Apache Arrow的列式存储、声明式懒执行与Rust级多线程并行,构成现代高性能数据处理的三大支柱。这种范式升级不仅带来10倍级速度提升,更重塑了ETL流水线设计逻辑——从‘加载-转换-输出’的线性思维,转向‘计划-优化-流式执行’的工程化实践。本文深入解析Polars核心机制,揭示其如何通过谓词下推、投影裁剪与并行哈希聚合,在真实

weixin_34115824的博客 522

14、Pandas:query()函数

1、基本使用 import pandas as pd df = pd.DataFrame( {'A': ['e', 'd', 'c', 'b', 'a'], 'B': ['f', 'b', 'c', 'd', 'e'], 'C': range(0, 10, 2), 'D': range(10, 0, -2), 'E.E': range(10, 5, -1)}) 我们现在选取 A列字母出现在B列 的所有行。先看两种常见写法 >>> df[d

lghpy的博客 3139

Python中!=操作符的底层机制与高危陷阱解析

在Python中,'!='并非简单的语法符号,而是触发对象 rich comparison 协议的核心运算符,其行为由__ne__和__eq__方法共同定义。理解其调用链(优先调用a.__ne__,回退至b.__eq__取反,最终fallback到身份比较)是掌握Python对象模型的关键基础。该机制直接影响浮点数精度处理、NaN检测、Pandas缺失值逻辑及自定义类相等性语义一致性。尤其在金融计算、数据清洗和业务实体建模等场景中,错误使用'!='易引发静默bug,如None比较歧义、NaN传播、自定义类逻

afhu47033的博客 365

pandas 模糊查询

def search(df, column, keywords): """ Pandas fuzzy search :param df: pandas dataframe :param column: the name of column :param keywords: the key words of your search :return: [true, false,...,true] list """ return df[column.

Kp0fS的草稿纸 2527

多维聚合实战:ROLLUP、CUBE与GROUPING SETS空间操作指南

多维聚合是OLAP分析的核心能力,本质是将二维表格升维为可切片、折叠、推演的N维数据立方体。其原理基于星型模型中的事实表与维度表协同建模,通过正交坐标轴(如时间、地域、产品)构建结构化分析空间。技术价值在于突破传统GROUP BY的单平面限制,支持高效预计算、语义化分层汇总与跨维度归因分析。典型应用场景包括销售多维下钻报表、用户行为路径分析、促销效果归因及实时BI看板构建。本文聚焦ROLLUP、CUBE和GROUPING SETS三大原生操作的空间语义差异与工程落地要点,结合Doris/ClickHouse

weixin_30336061的博客 444

数据分析-27-基于pandas进行模糊匹配merge_asof和groupby分组统计

pandas.merge_asof()函数是pandas库中的一个非常实用的函数,用于根据时间戳将两个数据集进行合并。该函数可以很好地处理时间戳不完全匹配的情况,并进行模糊匹配。理解groupby:split(分割)、apply(应用)、combine(组合)。(1)split:按照指定的key分割dataframe;(2)apply:对每个组应用聚合函数;(3)combine:将所有的聚合结果合并成一个数据框。

qq_20466211的博客 1121

Excel实战工具箱:高频函数、动态下拉与批处理避坑指南

Excel 并非只是电子表格,而是一套由函数、数据验证、宏与 Python 脚本共同构成的“工具箱”体系。理解 SUMIFS 多条件求和、FILTER 动态筛选以及名称管理器中相对引用实现二级下拉列表的原理,是应对复杂查询与录入业务的关键。这些技术不仅能替代手工重复操作,还能与 openpyxl、pandas 等工具协作,完成跨表数据合并与清洗。在实际场景中,Excel 数据导入 ArcGIS 遇到“外部表不是预期的格式”、订单号被转成科学计数法、多人编辑需要互不可见等问题,往往源于字段类型与工具兼容性的疏

weixin_33402252的博客 288

Pandas应用query进行表达式运算

方法通过SQL风格的语法,极大地简化了DataFrame的筛选操作,特别是在处理多条件查询时,它比传统的布尔索引方式更加直观和易读。无论是在数据清洗、数据分析还是数据报表生成的场景中,query()都是非常实用的工具,能显著提升工作效率。通过本教程的学习,能够对query()的基本操作及其在实际中的应用有了全面的理解。

Mr数据杨 510

金融级多维聚合:pandas agg的业务语义与生产实践

多维聚合是数据分析的核心能力,本质是将业务指标定义转化为可执行、可审计、可复用的数据计算逻辑。其原理不仅涉及分组统计与函数组合,更关键在于统一计算上下文、保障维度一致性、管理数据血缘与内存边界。技术价值体现在提升ETL稳定性、支撑监管合规、降低跨部门指标歧义,并为BI报表和风控模型提供原子级可信输入。典型应用场景包括银行客户价值分层、交易健康度分析、滚动基线监控及监管报送宽表生成。本文聚焦pandas中agg方法的高阶用法,深入解析多层列索引设计、自定义聚合契约化、滚动/扩展窗口对齐等真实金融场景必踩要点。

weixin_34185320的博客 345

揭秘六神算法3.4:异质模型集成与动态加权融合实战

在机器学习领域,算法集成是一种通过组合多个基模型来提升预测性能与稳定性的核心技术。其核心原理在于利用模型的多样性,通过投票、加权平均或堆叠等策略,降低单一模型的偏差与方差,从而获得更鲁棒的泛化能力。这一技术价值在于,它能够有效应对复杂数据模式,是提升模型在真实业务场景中表现的关键手段,广泛应用于金融风控、推荐系统、医疗诊断等领域。本文以传说中的“六神算法”为切入点,深入探讨了如何构建一个包含逻辑回归、支持向量机、随机森林、梯度提升树、K近邻和朴素贝叶斯等异质模型的集成框架,并详细解析了基于验证集性能进行动态

weixin_30832405的博客 354

SWAT模型非点源模拟原理

目录引言模型概述非点源污染模拟原理物质迁移内容过程营养物农药病原菌运移河道水质模型营养元素的地表水体循环河道水质模拟藻类模拟氮元素磷元素生化需氧量及溶解氧重金属的运移蓄水体水质模拟 引言 今天无意接触到这一块,就记录下来了。 模型概述 1、流域中非点源污染的来源主要是农业化肥和农药的施用。 2、氮、磷等营养物和农药的迁移和转化取决于化合物在土壤环境中经历的转化过程。 3、SWAT模型可以模拟水文相应单元内氮、磷完整的营养物循环过程和任何一种农药的降解过程。 4、SWAT模拟流域内泥沙、藻类、溶解氧、有机污染

DoWayChan的博客 4878

Pandas多维聚合与滚动计算实战:银行风控场景下的7种生产级模式

多维聚合是数据分析的核心能力,指在多个分组维度上同步执行多种统计函数(如均值、中位数、标准差)的复合计算;其底层原理依赖pandas的agg字典映射与分组索引复用机制,显著优于多次groupby的低效循环。技术价值在于提升千万级数据处理性能、保障指标逻辑一致性,并支撑动态风控、实时运营等关键业务。典型应用场景包括银行客户行为分析、商户风险评分、反洗钱预警建模及BI报表自动化。本文聚焦真实金融场景,深入解析多维聚合、滚动计算、自定义逻辑封装三大核心热词的落地实践。

diegouyi3472的博客 352

手眼标定(EyeToHand)推导

Base为基坐标系(B),工具末端坐标系(T),标定板为Mark坐标系(M),相机坐标系(C)对于每两个姿态都存在上式,组成一个AX=XB的矩阵方程,X为。此时转换成AX=0的问题,单纯用SVD求奇异解便可得到。相机坐标系到Base基坐标系下的转换关系。已知标定板与机械臂末端的相对位置固定不变,,即。带入(2)式求,至此求解出需要的手眼矩阵。在眼在手外的时候,其实是要求解。

stevenreally6的博客 1143

库存老对不上怎么办?Python 10行自动同步脚本,新手/库管5分钟拿来用,彻底告别数据不一致(附源码)

当新手和库管在库存管理系统中进行商品出入库等操作时,常常遇到系统库存与实际库存不一致、库存对不上的问题——例如系统中某商品库存显示为5,而实际库存只有3。这种差异容易引发超卖、退货流程繁琐,甚至出现仓库里明明有货,却因系统显示无货而始终卖不出去的情况。我用while循环写出了库存数据自动化同步脚本,切实解决了新手和库管库存对不上的难题。

m0_64546916的博客 497

【HCIP-AI 进阶之路(一)】零成本白嫖算力,7天速通华为人工智能资深开发者认证

《HCIP-AIEIDeveloper认证备考指南》摘要:本文深度解析华为HCIP-AI(H13-331)认证考试要点,涵盖考试大纲、评分标准及备考策略。重点剖析昇腾AI全栈架构,包括达芬奇架构核心计算单元(Cube/Vector/Scalar Unit)和四大层级关系(芯片-CANN-框架-应用)。针对无硬件资源的开发者,提供MindSpore CPU版、ModelArts免费算力和沙箱实验室三种零成本实践方案。文章强调该认证对国企/华为生态企业求职者的价值,并指出多选题是主要失分点。下篇将聚焦计算机视觉

2301_82049134的博客 1185

避坑指南:Qt5.14.2 ARM交叉编译中那些你可能遇到的‘坑’及解决方案

本文深度解析了Qt 5.14.2在ARM架构上进行交叉编译的完整流程与常见难题。重点阐述了如何精准匹配交叉编译器与目标板环境、正确配置sysroot以及使用configure参数的艺术,并针对编译过程中的头文件缺失、链接错误等典型“坑”提供了经过验证的解决方案,旨在帮助开发者成功构建适用于嵌入式设备的Qt运行时库。

weixin_29279101的博客 352

数据科学中ChatGPT的边界与验证:三步防幻觉实战法

大语言模型(LLM)在数据科学中的应用已从辅助写作延伸至代码生成、SQL编写与ETL优化,但其本质是统计式文本预测,缺乏对数据环境、业务约束和系统状态的理解能力。核心原理在于:LLM擅长无状态转换(如正则清洗、单表SQL),却极易在有状态依赖环节(如时间窗口特征、多表关联、部署配置)引入隐性逻辑错误。技术价值体现在提升开发效率的同时,倒逼团队沉淀可验证的工程规范;典型应用场景包括金融风控特征工程、电商用户分群、工业时序预处理等强确定性流程。本文聚焦真实项目中高频踩坑点——逻辑污染、数据泄露与交付失信,提出以

weixin_34372728的博客 434

手把手教你用Zemax优化MTF:从‘离焦平衡球差’到高频像差控制的实战技巧

本文详细介绍了如何使用Zemax优化MTF性能,从基础设置到高级技巧的全流程。通过具体案例,讲解了如何利用离焦平衡球差提升中频MTF,以及识别和控制高频像差的方法,帮助光学设计工程师和学生有效提升成像质量。

weixin_30752699的博客 751

Python全栈开发必备:MySQL实战技巧与优化指南

关系型数据库作为数据存储的核心组件,其设计原理直接影响应用性能。MySQL凭借ACID特性和成熟生态,在事务处理场景占据主导地位。通过索引优化、查询重构等技术手段,可使百万级数据查询从秒级降至毫秒级。Python生态中,SQLAlchemy等ORM工具与原生SQL的合理搭配,能兼顾开发效率与执行性能。实战中需特别注意连接池管理、类型安全校验等工程细节,在电商、金融等高并发场景下,还需掌握主从复制、读写分离等高可用方案。本文以Python+MySQL技术栈为例,详解全栈开发中的数据库设计陷阱与性能调优方法。

diankui6178的博客 352

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有:(1)测绘与地理信息多业务模块集成管理;(2)多元多尺度多种类数据集成管理;(3)跨平台异构数据转换;(4)数据监理;(5)自动缩编与综合;(6)坐标转换与动态投影;(7)地理信息模板定制;(8)GIS地理信息描述与CAD图形表达一体化支持;(9)GIS数据库更新维护;(10)图形打印与地图出版。 一、安装过程 EP..

智慧空间实验室 2万+

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

OpenAI o系列模型调度策略:从4o到o3的工程化选型指南

大语言模型不是越新越强,而是需按任务特性匹配能力维度。理解gpt-4o、o4-mini、o3等模型在响应延迟、工具调用、推理深度上的非线性差异,是构建高性价比AI工作流的基础。o4-mini并非‘轻量o3’,而是专为计算密集与多步协同优化的新范式;o3则代表长链思考与高置信度决策的上限。本文基于AIME数学评测、SWE-bench软件工程基准及真实业务调用日志,解析模型能力光谱与任务分类矩阵,提供可落地的三步匹配法、API自动路由代码及‘Think模式’实操技巧,助力开发者与终端用户实现成本可控、延迟可预期

culi3118的博客 671

红火蚁巢穴AI智能识别,提供方案与思路!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1042

pandas isin和模糊查询contains,list 模糊查询find;numpy合并concatenate,argsort

contains kkk1.loc[kkk1["querytext"].str.contains("迷你小")]

weixin_42357472的博客 1459

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Python】Pandas实用技能,数据筛选query函数详细介绍

来源:Python数据之道 (ID:PyDataLab)作者:阳哥Pandas 可以说是 在Python数据科学领域应用最为广泛的工具之一。Pandas是一种高效的数据处理库,它以 dat...

fengdu78的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Python3.13的JIT是如何实现的
下一篇: 关于 python 装饰器,你了解多少?
AI大模型学习
博客等级 码龄4年 2471粉丝 620原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值