DataFrame.query()--Pandas

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.hqwc.cn/news/79941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xcode15 change

jump to define 由原先的 control command left click 改为command left click

【Alibaba中间件技术系列】「RocketMQ技术专题」小白专区之领略一下RocketMQ基础之最!

应一些小伙伴们的私信,希望可以介绍一下RocketMQ的基础,那么我们现在就从0开始,进入RocketMQ的基础学习及概念介绍,为学习和使用RocketMQ打好基础! RocketMQ是一款快速地、可靠地、分布式、容易使用的消息中间件&#…

无涯教程-Perl - unshift函数

描述 此函数按顺序将LIST中的元素放在ARRAY的开头。这与shift()相反。 语法 以下是此函数的简单语法- unshift ARRAY, LIST返回值 此函数返回ARRAY中新元素的数量。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -warray ( 1, 2, 3, 4);print "Value of a…

Ribbon:使用Ribbon实现负载均衡

Ribbon实现的是实线走的 建立三个数据库 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.7.25-log : Database - db01 ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE*/;/*!40014 SET OLD_UNIQ…

安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法

EasyNVR是基于RTSP/Onvif协议的视频接入、处理及分发的安防视频云平台,可提供的视频能力包括:设备接入、实时视频直播、录像、云存储、录像回放与检索、告警、级联等,平台可支持将接入的视频流进行全平台、全终端的分发,分发的视频…

Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习

论文题目:Hierarchically Self-Supervised Transformer for Human Skeleton Representation Learning 论文下载地址:https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136860181.pdf 代码地址:https://github.com/yuxiaochen1103…

类与对象(中)

类与对象(中) 一、类的六个默认成员函数二、构造函数1、概念2、代码3、特点4、编译器生成的默认构造函数的作用(1)内置类型(基本类型)和自定义类型的概念(2)作用(3&#…

设计模式之职责链模式(ChainOfResponsibility)的C++实现

1、职责链模式的提出 在软件开发过程中,发送者经常发送一个数据请求给特定的接收者对象,让其对请求数据进行处理(一个数据请求只能有一个对象对其处理)。如果发送的每个数据请求指定特定的接收者, 将带来发送者与接收…

Nets3e v1.1.4(攻击者在受害者主机上偷拍并弹出受害者个人照片)

Github>https://github.com/MartinxMax/Nets3e/tree/Nets3e_V1.1.4 首页 历史更新: Nets3e v1.1.4 新增echo参数,-g -echo,生成payload后,受害者泄露的个人照片将会在受害者的主机上弹出展示 Nets3e v1.1.3 修复受害者无法获取公网IP,新增钉钉实时监控推送 Nets3e v1.1…

前端处理图片文件的方法

在项目开发过程中&#xff0c;有一个需求&#xff0c;需要前端对上传的图片进行处理&#xff0c;以字符串的形式传给后端&#xff0c;实现效果如下&#xff1a; 1.上传图片的组件 在该项目中&#xff0c;使用了element plus组件库 <el-uploadv-model:file-list"fileL…

【面试专题】Spring篇①

&#x1f4c3;个人主页&#xff1a;个人主页 &#x1f525;系列专栏&#xff1a;Java面试专题 目录 1.你知道 Spring 框架中有哪些重要的模块吗&#xff1f; 2. 谈谈你对 IOC 的认识。 3. 谈谈你对 AOP 的认识。 4.在实际写代码时&#xff0c;有没有用到过 AOP&#xff1f;用…

kubesphere部署rocketmq5.x,并对外暴露端口

kubesphere是青云开源的k8s管理工具&#xff0c;用户可以方便的通过页面进行k8s部署的部署&#xff0c;rocketmq则是阿里开源的一款mq平台&#xff0c;现在版本为5.1.3版本&#xff0c;较比4.x版本的rocketmq有比较大的调整&#xff1a;比如客户端的轻量化&#xff08;统一通过…