Python 用Pandas .query()方法过滤数据

Python 用Pandas .query()方法过滤数据

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas是其中一个包,它使导入和分析数据变得更加容易。

分析数据需要大量的过滤操作。Pandas提供了许多方法来过滤数据框架,Dataframe.query()就是其中之一。

语法: DataFrame.query(expr, inplace=False, kwargs)

参数:
expr: 字符串形式的表达式,用于过滤数据。
inplace: 如果是的话,在原始数据框中进行修改
kwargs: 其他关键字参数。

返回类型: 过滤后的数据框。

注意:Dataframe.query()方法只在列名没有任何空位的情况下工作。所以在应用该方法之前,列名中的空格要用’_’替换。

例子 #1: 单一条件过滤

在这个例子中,数据是在单一条件的基础上被过滤的。在应用query()方法之前,列名中的空格已被替换为’_’。

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True', inplace = True)
  
# display
data
Python

输出:
如输出图片所示,现在数据中只有高级管理人员为 “真 “的行。
Python 用Pandas .query()方法过滤数据

例子#2:多条件过滤

在这个例子中,数据框架已经根据多个条件进行了过滤。在应用query()方法之前,列名中的空格已被替换为’_’。

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True 
            and Gender =="Male" and Team =="Marketing" 
            and First_Name =="Johnny"', inplace = True)
  
# display
data
Python

输出:
如输出图像所示,在应用过滤器的基础上,只返回了两行。
Python 用Pandas .query()方法过滤数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册