DataFrame.query()--Pandas

news/2025/1/15 15:59:58/

1. 函数功能

Pandas 中的一个函数,用于在 DataFrame 中执行查询操作。这个方法会返回一个新的 DataFrame,其中包含符合查询条件的数据行。请注意,query 方法只能用于筛选行,而不能用于筛选列。

2. 函数语法

DataFrame.query(expr, *, inplace=False, **kwargs)

3. 函数参数

参数含义
expr查询字符串;对于不是有效python变量名的列名:如:UnitPrice(USD),需要将列名括在反引号(数字1左边键)中
inplace布尔值,决定是修改原数据框还是创建新的数据框,默认为False:创建新的数据框

3.1单个条件查询

df = pd.DataFrame({'A': range(1, 6),'B': range(10, 0, -2),'C C': range(10, 5, -1)})print(df)print("df.query('A>B'):\n", df.query('A>B'))
print("df.loc[df['A']>df['B'],]\n", df.loc[df['A'] > df['B'],])
print("df.query('B>= `C C`')\n", df.query('B>= `C C`'))

在这里插入图片描述

3.2 inplace参数

df = pd.DataFrame({'A': range(1, 6),'B': range(10, 0, -2),'C C': range(10, 5, -1)})print(df)print("df.query('A>B'):\n", df.query('A>B',inplace=True))print('df:inplace=True\n',df)

在这里插入图片描述

3.3 实例数据查询

df = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\全球超市订单数据.xlsx',usecols=['行 ID', '订购日期', '细分市场', '市场', '类别', '数量'],nrows=1000)
print(df)

在这里插入图片描述

3.3.1 单个条件查询

## 1.单条件查询:市场为亚太地区
df11 = df.query("市场=='亚太地区'")
print("df11.shape:", df11.shape)
df12 = df.loc[df['市场'] == '亚太地区',]
print("df12.shape:", df12.shape)

在这里插入图片描述

3.3.2 多条件查询: 且:and、&

df21 = df.query("市场=='亚太地区' and 类别=='技术'")
print('df21: and', df21.shape)
df22 = df.query("市场=='亚太地区' & 类别=='技术'")
print('df22: &', df22.shape)
df23 = df.loc[(df['市场'] == '亚太地区') & (df['类别'] == '技术'),]
print('df23: loc', df23.shape)

在这里插入图片描述
在这里插入图片描述

3.3.3 多条件:或:or 、|

df31 = df.query("市场=='亚太地区' or 类别=='技术'")
print('df31: and', df31.shape)
df32 = df.query("市场=='亚太地区' | 类别=='技术'")
print('df32: &', df32.shape)
df33 = df.loc[(df['市场'] == '亚太地区') | (df['类别'] == '技术'),]
print('df33: loc', df33.shape)
print(df32)

在这里插入图片描述
可以看出在进行多条件查询时,query()方法具有优势,能够优化代码。


http://www.ppmy.cn/news/1056061.html

相关文章

快速上手Linux核心命令:文件内容相关命令

前言 上一篇中已经预告,我们这篇主要说一说Linux中文件内容查看处理相关的命令。一共16个命令,其中 标注的为重点命令,工作中用的也比较多,需要熟练掌握 cat 合并文件或查看文件内容 1、简介 cat 是concatenate 单词的缩写&a…

neo4j

UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…

如何用Dockerfile部署LAMP架构

目录 构建LAMP镜像(Dockerfile) 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…

API接口文档利器:Swagger 和 接口调试利器:Postman

2.接口相关工具 2.1API接口文档利器:Swagger 2.1.1Swagger介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务 (https://swagger.io/)。 它的主要作用是: 使得前后端分离开发更加方便&#xff0…

IDEA常用插件之私有注解Private Notes

文章目录 IDEA常用插件之私有注解Private Notes功能使用方法下载插件设置快捷键添加注释注释数据保存目录其他设置参数 更换电脑注释迁移同步 IDEA常用插件之私有注解Private Notes 功能 添加私有注解提交git后其他人看不到给源码添加注解 使用方法 下载插件 进入插件页面…

聚合函数与窗口函数

聚合函数 回答一 聚合函数(Aggregate Functions)是SQL中的函数,用于对一组数据进行计算,并返回单个结果。聚合函数通常用于统计和汇总数据,包括计算总和、平均值、计数、最大值和最小值等。 以下是一些常见的聚合函…

uni-app + SpringBoot +stomp 支持websocket 打包app

文章目录 一、概述:二、配置:1. 后端配置2. uni-app(app端)3. 使用 一、概述: websocket 协议是在http 协议的基础上的升级,通过一次http 请求建立长连接,转而变为TCP 的全双工通信;而http 协议是一问一答…

找到所有数组中消失的数

找到所有数组中消失的数,OJ练习 一、描述二、方法一三、方法二 一、描述 给你一个含n个整数的数组nums,其中nums[i]在区间[1,n]内。请你找出所有在[1,n]范围内但没有出现在nums中的数字,并以数组的形式返回结果&#…