
别再低效筛选数据了!试试pandas query函数
数据过滤在数据分析过程中具有极其重要的地位,因为在真实世界的数据集中,往往存在重复、缺失或异常的数据。
数据过滤在数据分析过程中具有极其重要的地位,因为在真实世界的数据集中,往往存在重复、缺失或异常的数据。pandas
提供的数据过滤功能可以帮助我们轻松地识别和处理这些问题数据,从而确保数据的质量和准确性。
今天介绍的query
函数,为我们提供了强大灵活的数据过滤方式,有助于从复杂的数据集中提取有价值的信息,提高分析的效率。
1. 准备数据
下面的示例中使用的数据采集自链家网的真实房屋成交数据。
数据下载地址:databook.top/。
导入数据:
python
复制代码
import pandas as pd
fp = "D:/data/南京二手房交易/南京建邺区.csv"
df = pd.read_csv(fp)
df.head()
2. query 使用示例
query
提供的查询接口非常灵活,可以用类似sql
的方式组合查询条件。
2.1. 比较
比较是最常用的过滤手段,
比如:相等比较,检索2023年3月1日的成交数据。
python
复制代码
df.query('dealDate == "2023.03.01"').head()
同样,也可以进行大于或者小于的比较:
python
复制代码
# 成交总价大于1000万的房屋
df.query('totalPrice > 1000').head()
python
复制代码
# 成交总价小于100万的房屋
df.query('totalPrice < 100').head()
2.2. 多条件组合
在query
函数中组合查询条件也非常简单,它的查询字符串中可以直接使用逻辑运算符。
比如,逻辑与的查询,用 &
来连接查询条件。
python
复制代码
# 总价大于1000万,且每平米单价小于6万的房屋
df.query('totalPrice > 1000 & unitPrice < 60000').head()
逻辑或的查询,用|
来连接查询条件。
python
复制代码
# 总价小于200万,或者每平米单价小于3万的房屋
df.query('totalPrice < 200 | unitPrice < 30000').head()
因为是逻辑或,两个条件满足一个就行,所以查询出的数据有总价大于200万,也有单价大于3万的数据。
还有一个逻辑非的运算,用 not
关键字来表示。
2.3. 模糊查询
除了比较,也可以对字符串进行模糊查询,类似sql
中的LIKE
检索。
比如,查询名称包含万科的楼盘。
python
复制代码
# 名称包含万科
df.query('name.str.contains("万科")').head(5)
包含的字符串也支持正则表达式匹配,比如,查询万科楼盘中3室的房屋。
python
复制代码
df.query('name.str.contains("万科.*3室")').head(5)
2.4. 匹配列表
查询时,可以匹配某个列表中的一项,类似于SQL
中的IN
检索。
比如,查询任意三个日期的房屋成交信息,且总价大于500万。
python
复制代码
dates = ["2023.02.28", "2022.12.11", "2022.04.10"]
df.query('totalPrice > 600 & dealDate == @dates').head(5)
3. 总结
pandas
的DataFrame
提供了各种过滤检索数据的方式,与之相比,query
函数允许用户以字符串的形式对DataFrame
进行查询操作。
这样的好处有:
- 直观易读:类似SQL的语法,且查询语句以字符串形式表示,易于理解和阅读,有助于提高代码的可读性
- 灵活性高:支持复杂的查询条件,可以通过逻辑运算符组合多个条件,也支持模糊的匹配方式
- 减少代码量:可以减少编写过滤和条件判断的代码量,使代码更加简洁
- 易于调试:由于查询语句以字符串形式表示,因此在调试过程中可以轻松地打印和查看查询条件
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
更多推荐
所有评论(0)