DataFrame.query()--Pandas

这篇具有很好参考价值的文章主要介绍了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`'))

DataFrame.query()--Pandas,Pandas,pandas

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)

DataFrame.query()--Pandas,Pandas,pandas

3.3 实例数据查询

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

DataFrame.query()--Pandas,Pandas,pandas

3.3.1 单个条件查询

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

DataFrame.query()--Pandas,Pandas,pandas

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)

DataFrame.query()--Pandas,Pandas,pandas
DataFrame.query()--Pandas,Pandas,pandas

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)

DataFrame.query()--Pandas,Pandas,pandas
可以看出在进行多条件查询时,query()方法具有优势,能够优化代码。

3.3.4 同一列的多个取值

print(df.query("市场 in ['亚太地区','非洲']"))

DataFrame.query()--Pandas,Pandas,pandas文章来源地址https://www.toymoban.com/news/detail-668682.html

到了这里,关于DataFrame.query()--Pandas的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pandas中DataFrame数据合并、连接

    为解决数据冗余等问题,大量的数据会分开存放在不同的文件(表格)里。在数据处理时,经常会有不同表格的数据需要进行合并操作。可以通过pandas库的 merge函数 和 concat函数 来实现数据集的合并。 根据 一个或多个键 将不同DataFrame中的 行 连接起来。 说明:类似于关系数

    2024年02月15日
    浏览(35)
  • pandas dataframe df.join

    根据dataframe的index索引进行拼接,即df1.index=df2.index时,才会将df2[‘发布时间’]拼到df1左边 如果想指定共同索引,可以用df.merge 此外如果想忽略索引直接1对1拼接,可以先df.reset_index再用df.join

    2024年02月03日
    浏览(28)
  • 【Pandas学习】多条件筛选DataFrame

    目录 一、按列筛选 1、简单筛选 2、多条件筛选  二、按行筛选 三、多条件组合 DataFrameSeries  执行 、 、 == 这些运算符时,会将每一个元素进行比较,得到一个由结果( Boolean 值)组成的相同大小的 DataFrameSeries 返回。 相同大小的 DataFrameSeries 之间可以用 、 | 、 ~ 运算符进

    2024年02月16日
    浏览(23)
  • pandas--DataFrame--数据切片/筛选/取值

    2024年02月13日
    浏览(40)
  • Pandas中对DataFrame列名进行重命名

    目录 1.重命名Pandas DataFrame Column(列) 2.在创建Dataframe时指定列名 3.※使用 list 设置全部列名※ Pandas是一个用于数据分析和操作的Python库。在 pandas 中几乎所有的操作都围绕着 DataFrame 。 Dataframe 是一个二维表的抽象表示,可以包含各种数据。 背景:只想重命名几列,最好在创

    2023年04月18日
    浏览(28)
  • pandas中如何提取DataFrame的某些列

    在处理表格型数据时,一行数据是一个 sample,列就是待提取的特征。怎么选取其中的一些列呢?本文分享一些方法。 使用如下的数据作为例子: Name course1 course2 course3 fruit sport 1 Anna 85 90 82 apple basketball 2 Betty 83 85 86 banana volleyball 3 Richard 90 83 81 apple football 4 Philip 84 88 91 orange

    2024年02月07日
    浏览(29)
  • pandas dataframe获取列名、添加列名、列索引

    四种获取列名的方式: 如果一个矩阵,将其变为dataframe格式,没有列名,打印行数、列数以及选取某一列,选取某一列时,直接df[index],注意想获取第三列,index应该等于2,列索引从0开始。 想给他们添加列名,使用方法如下: 如果一个dataframe已经有列名字,可以进行覆盖。

    2024年02月15日
    浏览(38)
  • 69_Pandas.DataFrame获取行号和列号

    将讲解如何从pandas.DataFrame的行名和列名中获取行号和列号,以及如何从列元素的值中获取行名和行号。 下面对内容进行说明。 根据行名和列名获取行号和列号 get_loc() 方法 当行名和列名重复时 列表索引、列 从列元素值获取行名称和行号 如果想从行号或列号中获取行、列或

    2024年02月01日
    浏览(31)
  • python中Pandas之DataFrame索引、选取数据

    总结一下 DataFrame 索引问题 先创建一个简单的 DataFrame 。 DataFrame 中有两种索引: 行索引( index ):对应最左边那一竖列 列索引( columns ):对应最上面那一横行 两种索引默认均为从 0 开始的自增整数。 可以使用 index 这个参数指定行索引, columns 这个参数指定列索引。 输出此时

    2023年04月08日
    浏览(37)
  • Pandas.DataFrame.loc[ ] 筛选数据-标签法 详解 含代码 含测试数据集 随Pandas版本持续更新

    关于Pandas版本: 本文基于 pandas2.2.0 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门: Pandas 由浅入深系列教程 Pandas.DataFrame.loc[] 方法用于通过 索引、列名 筛选 DataF

    2024年01月19日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包