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

这篇具有很好参考价值的文章主要介绍了别再低效筛选数据了!试试pandas query函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

1. 准备数据

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

导入数据:

import pandas as pd

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

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

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

2. query 使用示例

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

2.1. 比较

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

df.query('dealDate == "2023.03.01"').head()

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

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

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

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

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

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

2.2. 多条件组合

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

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

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

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

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

别再低效筛选数据了!试试pandas query函数
因为是逻辑或,两个条件满足一个就行,所以查询出的数据有总价大于200万,也有单价大于3万的数据。

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

2.3. 模糊查询

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

# 名称包含万科
df.query('name.str.contains("万科")').head(5)

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

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

df.query('name.str.contains("万科.*3室")').head(5)

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

2.4. 匹配列表

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

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

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

3. 总结

pandasDataFrame提供了各种过滤检索数据的方式,与之相比,query函数允许用户以字符串的形式对DataFrame进行查询操作。
这样的好处有:文章来源地址https://www.toymoban.com/news/detail-837878.html

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

到了这里,关于别再低效筛选数据了!试试pandas query函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】数据分析+数据挖掘——探索Pandas中的数据筛选

    当涉及数据处理和分析时,Pandas是Python编程语言中最强大、灵活且广泛使用的工具之一。Pandas提供了丰富的功能和方法,使得数据的选择、筛选和处理变得简单而高效。在本博客中,我们将重点介绍Pandas中数据筛选的关键知识点,包括条件索引、逻辑操作符、 query() 方法以及

    2024年02月15日
    浏览(55)
  • Pandas.DataFrame.loc[ ] 筛选数据-标签法 详解 含代码 含测试数据集 随Pandas版本持续更新

    关于Pandas版本: 本文基于 pandas2.2.0 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门: Pandas 由浅入深系列教程 Pandas.DataFrame.loc[] 方法用于通过 索引、列名 筛选 DataF

    2024年01月19日
    浏览(36)
  • Python 教学 | Pandas 妙不可言的条件数据筛选

    目录 Part 1  前言 Part 2  Excel 的数据筛选与分布统计 Part 3  Pandas 条件数据筛选 1、条件数据筛选的不同维度 (1) 比较数据值 (2) 是否为空值 (3) 文本内容筛选 (4) 数据值长度 (5) 日期筛选 (6) 其他 2、复合条件筛选 Part 4  总结 Part 5  Python教程 在 Python 中,第三方库 Pandas 是数据清

    2024年02月10日
    浏览(38)
  • 筛选符合条件的数据行(Python Pandas 数据框中基于条件的行选择)

    筛选符合条件的数据行(Python Pandas 数据框中基于条件的行选择) 在处理数据的过程中,有时需要筛选出数据框中符合特定条件的行,以便对这些行进行进一步的处理或者分析。Python Pandas 库提供了多种方式来实现基于条件的行选择。 下面我们将演示如何使用 Pandas 实现基于

    2024年02月12日
    浏览(39)
  • DataFrame.query()--Pandas

    Pandas 中的一个函数,用于在 DataFrame 中执行查询操作。这个方法会返回一个新的 DataFrame,其中包含符合查询条件的数据行。请注意,query 方法只能用于筛选行,而不能用于筛选列。 参数 含义 expr 查询字符串;对于不是有效python变量名的列名:如:UnitPrice(USD),需要将列名

    2024年02月11日
    浏览(39)
  • 【Pandas学习】多条件筛选DataFrame

    目录 一、按列筛选 1、简单筛选 2、多条件筛选  二、按行筛选 三、多条件组合 DataFrameSeries  执行 、 、 == 这些运算符时,会将每一个元素进行比较,得到一个由结果( Boolean 值)组成的相同大小的 DataFrameSeries 返回。 相同大小的 DataFrameSeries 之间可以用 、 | 、 ~ 运算符进

    2024年02月16日
    浏览(31)
  • 5.14 PowerBI系列之DAX函数专题-DAX函数使切片器可筛选多列数据

    需求:把多个列标题当作切片器筛选 思路: 1.创建一个辅助表将列转成行; 2.写度量值用于判断当期选择的列和抓取对应的数据; 3.将度量值应用到展示图表的筛选器当中 实现 将度量值‘产品大类筛选’0作为对应视觉对象的展示条件。 需要注意的是,是否大于0是是否展现

    2024年02月12日
    浏览(39)
  • Python实用技巧:Pandas--DataFrame--筛选和删除含特定值的行与列

    Python实用技巧:Pandas–DataFrame–筛选和删除含特定值的行与列 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~ 💡 创作高质量博文,分享更多关于深度学习、PyT

    2024年04月13日
    浏览(42)
  • 掌握pandas cut函数,一键实现数据分类

    pandas 中的 cut 函数可将一维数据按照给定的区间进行分组,并为每个值分配对应的标签。 其主要功能是将连续的数值数据转化为离散的分组数据,方便进行分析和统计。 下面的示例中使用的数据采集自王者荣耀比赛的统计数据。 数据下载地址:https://databook.top/。 导入数据:

    2024年03月09日
    浏览(42)
  • 7个Pandas绘图函数助力数据可视化

    大家好,在使用Pandas分析数据时,会使用Pandas函数来过滤和转换列,连接多个数据帧中的数据等操作。但是,生成图表将数据在数据帧中可视化 , 通常比仅仅查看数字更有帮助。 Pandas具有几个绘图函数,可以使用它们快速轻松地实现数据可视化,文中将介绍这些函数。 首先

    2024年01月21日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包