Python中怎么使用query()进行优雅的查询
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"Python中怎么使用query()进行优雅的查询",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python中怎么使用query(
千家信息网最后更新 2025年11月07日Python中怎么使用query()进行优雅的查询
这篇文章主要讲解了"Python中怎么使用query()进行优雅的查询",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python中怎么使用query()进行优雅的查询"吧!

对于 Pandas 根据条件获取指定数据,相信大家都能够轻松的写出相应代码,但是如果你还没用过 query,相信你会被它的简洁所折服!
常规用法
先创建一个 DataFrame。
import pandas as pddf = pd.DataFrame( {'A': ['e', 'd', 'c', 'b', 'a'], 'B': ['f', 'b', 'c', 'd', 'e'], 'C': range(0, 10, 2), 'D': range(10, 0, -2), 'E.E': range(10, 5, -1)})我们现在选取 A列字母出现在B列 的所有行。先看两种常见写法。
>>> df[df['A'].isin(df['B'])] A B C D E.E0 e f 0 10 101 d b 2 8 92 c c 4 6 83 b d 6 4 7>>> df.loc[df['A'].isin(df['B'])] A B C D E.E0 e f 0 10 101 d b 2 8 92 c c 4 6 83 b d 6 4 7
下面使用 query() 来实现。
>>> df.query("A in B") A B C D E.E0 e f 0 10 101 d b 2 8 92 c c 4 6 83 b d 6 4 7可以看到使用 query 后的代码简洁易懂,并且它对于内存的消耗也更小。
多条件查询
选取 A列字母出现在B列,并且C列小于D列 的所有行。
>>> df.query('A in B and C < D') A B C D E.E0 e f 0 10 101 d b 2 8 92 c c 4 6 8这里 and 也可以用 & 表示。
引用变量
表达式中也可以使用外部定义的变量,在变量名前用@标明。
>>> number = 5>>> df.query('A in B & C > @number') A B C D E.E3 b d 6 4 7索引选取
选取 A列字母出现在B列,并且索引大于2 的所有行。
>>> df.query('A in B and index > 2') A B C D E.E3 b d 6 4 7多索引选取
创建一个两层索引的 DataFrame。
>>> import numpy as np>>> colors = ['yellow']*3 + ['red']*2>>> rank = [str(i) for i in range(5)]>>> index = pd.MultiIndex.from_arrays([colors, rank], names=['color', 'rank'])>>> df = pd.DataFrame(np.arange(10).reshape(5, 2),columns=['A', 'B'] , index=index)>>> df = pd.DataFrame(np.arange(10).reshape(5, 2),columns=['A', 'B'] , index=index)>>> df A Bcolor rank yellow 0 0 1 1 2 3 2 4 5red 3 6 7 4 8 9
1、当有多层索引有名称时,通过索引名称直接选取。
>>> df.query("color == 'red'") A Bcolor rank red 3 6 7 4 8 92、当有多层索引无名时,通过索引级别来选取。
>>> df.index.names = [None, None]>>> df.query("ilevel_0 == 'red'") A Bred 3 6 7 4 8 9>>> df.query("ilevel_1 == '4'") A Bred 4 8 9特殊字符
对于列名中间有空格或运算符等其他特殊符号,需要使用反引号 ``。
>>> df.query('A == B | (C + 2 > `E.E`)') A B C D E.E2 c c 4 6 83 b d 6 4 74 a e 8 2 6总的来说,query() 用法比较简单,可以快速上手,代码可读性也提高了不少。
感谢各位的阅读,以上就是"Python中怎么使用query()进行优雅的查询"的内容了,经过本文的学习后,相信大家对Python中怎么使用query()进行优雅的查询这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
索引
查询
优雅
代码
变量
字母
学习
特殊
简洁
内容
名称
多层
条件
内存
写法
可读性
字符
就是
常见
常规
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
简创网络技术有限公司
数据库0xc020901c
网络服务器配置与管理期末考试
聚合数据库技术
数据库唯一索引可以建几个
天津网络安全的公司排名
软件开发验收单模版
网络安全宣传员句子
咋运行腾讯云服务器
华为服务器业务介绍
万方数据库下的论文
软件开发是怎么应用到汽车
数据库增加自动编号字段
软件开发商有哪些责任
幼儿园网络安全责任制落实方案
对新时代网络安全的思考
中国网传播有限公司网络安全
网络技术职高
西藏网络安全周是什么意思
dcs网络安全应急预案
美国网络安全特征体现
网络安全工程发展趋势
宝塔服务器管理软件
软件开发岗事业编竞争大吗
贝克网络技术有限公司
刷脸网络安全
远程登录服务器 软件
互联网变更科技公司名称
数据库查看实例名
一二年级网络安全教育手机报