10快速入门Query函数使用的Pandas的查询示例
pandas.的query函数为我们提供了一种编写查询过滤条件更简单的方法,特别是在的查询条件很多的时候,在本文中整理了10个示例,掌握着10个实例你就可以轻松的使用query函数来解决任何查询的问题。
首先,将数据集导入pandas DataFrame - df
import pandas as pd
df = pd.read_csv("Dummy_Sales_Data_v1.csv")
df.head()
它是一个简单的9999 x 12数据集,是使用Faker创建的,我在最后也会提供本文的所有源代码。
在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。
PANDAS DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。而括号符号[]可以灵活地基于条件过滤数据帧,但是如果条件很多的话编写代码是繁琐且容易出错的。
pandas query()函数可以灵活地根据一个或多个条件提取子集,这些条件被写成表达式并且不需要考虑括号的嵌套
在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。
使用单一条件进行过滤
在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。返回的输出将包含该表达式评估为真的所有行。
示例1
提取数量为95的所有行,因此逻辑形式中的条件可以写为 -
Quantity == 95
需要将条件写成字符串,即将其包装在双引号“”中。query代码如下
df.query("Quantity == 95")
看起来很简单。它返回了数量为95的所有行。如果用一般查询的方式可以写成:
df [df [“Quantity”] == 95]
但是,如果想在同一列中再包含一个条件怎么办?
它在括号符号中又增加了一对方括号,如果是3个条件或者更多条件呢?那么他就变得难以管理。这就是Query的优势了。
在多个条件过滤
一个或多个条件下过滤,query()的语法都保持不变
完整文章:
https://avoid.overfit.cn/post/2f07763913a948a5b074e2430b8b2b8e
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)