python pandas query的使用方法

 更新时间:2022年09月13日 16:08:17   作者:soulsoul_god  
这篇文章主要介绍了python pandas query的使用方法,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

前言:

Pandas 中应用 query 函数来进行数据筛选。

query 函数的一般用法如下:

df.query('expression')

常用方法:

#!/usr/bin/python
import pandas as pd
import numpy as np
data = {
 'brand':['Python',' C ',' C++ ','C#','Java'],
 'A':[10,2,5,20,16],
 'B':[4,6,8,12,10],
 'C':[8,12,18,8,2],
 'D':[6,18,14,6,12],
 'till years':[4,1,1,30,30]
 }
df = pd.DataFrame(data=data)
print("df数据打印:\n", df, '\n')

print('查找数据:\n', df.query('brand == "Python"'), '\n')
print('查找数据:\n', df[df['brand'] == "Python"], '\n')

可以使用df.query('brand == "Python"')进行查找,也可以使用df[df['brand'] == "Python"]这种方式进行查找。

out:

df数据打印:
     brand   A   B   C   D  till years
0  Python  10   4   8   6           4
1      C    2   6  12  18           1
2    C++    5   8  18  14           1
3      C#  20  12   8   6          30
4    Java  16  10   2  12          30
 
查找数据:
     brand   A  B  C  D  till years
0  Python  10  4  8  6           4
 
查找数据:
     brand   A  B  C  D  till years
0  Python  10  4  8  6           4
通过数学表达式来筛选:

除了直接通过等于某个值来筛选, query 函数还支持通过数学表达式来进行数据筛选,包括 > 、 < 、 + 、 - 、 * 、 / 等。

print('查找数据:\n', df.query('A > 15'), '\n')

out:

查找数据:
   brand   A   B  C   D  till years
3    C#  20  12  8   6          30
4  Java  16  10  2  12          30

通过变量筛选:

在程序比较长的时候,经常会使用变量来作为筛选条件, query 函数在使用变量作为判断标准时,通过在变量前面添加 @ 符号来实现,

示例如下:

name = 'Java'
print('查找数据:\n', df.query('brand == @name'), '\n')

out:

查找数据:
   brand   A   B  C   D  till years
4  Java  16  10  2  12          30
通过列表数据筛选:

当需要在某列中筛选多个符合要求的值的时候,可以通过列表( list )来实现,示例如下:

name = ['Python', 'Java']
print('查找数据:\n', df.query('brand in @name'), '\n')

out:

查找数据:
     brand   A   B  C   D  till years
0  Python  10   4  8   6           4
4    Java  16  10  2  12          30

多条件筛选:

  • 两者都需要满足的并列条件使用符号 & , 或单词 and
  • 只需要满足其中之一的条件使用符号 | , 或单词 or
name = ['Python', 'Java']
print('查找数据:\n', df.query('brand in @name & A > 15'), '\n')

out:

查找数据:
   brand   A   B  C   D  till years
4  Java  16  10  2  12          30

列名称中有空格的情况,使用``进行处理:

使用引号处理的话,会报错。

print('查找数据:\n', df.query('`till years` > 10'), '\n')

out:

查找数据:
   brand   A   B  C   D  till years
3    C#  20  12  8   6          30
4  Java  16  10  2  12          30

筛选后选取数据列:

name = ['brand', 'A', 'B', 'till years']
print('查找数据:\n', df.query('`till years` > 10')[name], '\n')

out:

查找数据:
   brand   A   B  till years
3    C#  20  12          30
4  Java  16  10          30

总结:

当用到多条件筛选时,使用query就会显得简洁的多:

print(df[(df['brand'] == 'Python') & (df['A'] == 10) & (df['B'] == 4)])
print(df.query('brand == "Python" & A == 10 & B == 4'))

到此这篇关于python pandas query的使用方法的文章就介绍到这了,更多相关python pandas query 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python绘制箱线图boxplot()的教程详解

    python绘制箱线图boxplot()的教程详解

    本文主要介绍了python如何绘制箱线图boxplot()的方法教程,文中有详细的代码示例和图文讲解,需要的朋友可以参考下
    2023-05-05
  • python3安装OCR识别库tesserocr过程图解

    python3安装OCR识别库tesserocr过程图解

    这篇文章主要介绍了python3安装OCR识别库tesserocr过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 深入解析Python中的__builtins__内建对象

    深入解析Python中的__builtins__内建对象

    __builtins__ 是内建模块__builtin__中的对象,使用Python中的内建函数时会通过__builtins__引导,这里我们就来深入解析Python中的__builtins__内建对象,需要的朋友可以参考下
    2016-06-06
  • PyQt5 QThread倒计时功能的实现代码

    PyQt5 QThread倒计时功能的实现代码

    这篇文章主要介绍了PyQt5 QThread倒计时功能的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • python实现跳表SkipList的示例代码

    python实现跳表SkipList的示例代码

    这篇文章主要介绍了python实现跳表SkipList的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Python实现动态给类和对象添加属性和方法操作示例

    Python实现动态给类和对象添加属性和方法操作示例

    这篇文章主要介绍了Python实现动态给类和对象添加属性和方法操作,涉及Python面向对象程序设计中类与对象属性、方法的动态操作相关实现技巧,需要的朋友可以参考下
    2020-02-02
  • Django uwsgi Nginx 的生产环境部署详解

    Django uwsgi Nginx 的生产环境部署详解

    这篇文章主要介绍了Django uwsgi Nginx 的生产环境部署详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Python flask与fastapi性能测试方法介绍

    Python flask与fastapi性能测试方法介绍

    这篇文章主要介绍了Python flask与fastapi性能测试方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • python导出requirements.txt的几种方法以及环境配置详细流程

    python导出requirements.txt的几种方法以及环境配置详细流程

    这篇文章主要给大家介绍了关于python导出requirements.txt的几种方法以及环境配置详细流程,requirements.txt 文件是一个文本文件,用于列出你的Python项目所依赖的软件包及其版本,需要的朋友可以参考下
    2023-11-11
  • python+tkinter实现一个简单的秒钟

    python+tkinter实现一个简单的秒钟

    这篇文章主要为大家详细介绍了Python如何利用tkinter实现一个简单的秒钟,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以自己动手尝试一下
    2024-02-02

最新评论