Pandas是一种开源数据分析工具,它提供了大量数据操作和分析功能,其中Pandas.query()方法是一种方便的数据过滤方法,本文将提供有关Python中如何使用Pandas.query()方法过滤数据的完整攻略,并提供相关实例。
1. Pandas.query()方法概述
Pandas.query()方法可以对DataFrame数据集进行查询,这个函数类似于SQL中的WHERE条件语句,可以使用逻辑运算符、比较运算符、布尔运算符等进行数据筛选。
Pandas.query()方法的一般语法如下:
DataFrame.query(expr, inplace=False, **kwargs)
expr
:查询条件表达式。inplace
:默认为False,表示是否直接修改原始数据。**kwargs
:表示可选参数,包含执行查询语句时所需的局部变量。
2. Pandas.query()方法案例
下面是使用Pandas.query()方法过滤数据的两个实例。
实例1:根据特定条件筛选数据
import pandas as pd
#构造数据集
data = {'name':['Tom','Jack','Steve','Ricky','Louise'],
'age':[28,34,29,42,21],
'city':['BeiJing','ShangHai','HangZhou','HangZhou','GuangZhou'],
'salary':[1000,4000,3000,6000,2000]}
df = pd.DataFrame(data)
#查询薪资大于3000的员工名字、年龄、城市和薪资信息
tmp = df.query('salary > 3000')[['name','age','city','salary']]
print(tmp)
运行结果:
name age city salary
1 Jack 34 ShangHai 4000
2 Steve 29 HangZhou 3000
3 Ricky 42 HangZhou 6000
实例2:使用变量进行数据筛选
import pandas as pd
#构造数据集
data = {'name':['Tom','Jack','Steve','Ricky','Louise'],
'age':[28,34,29,42,21],
'city':['BeiJing','ShangHai','HangZhou','HangZhou','GuangZhou'],
'coupon':[True,False,True,True,False]}
df = pd.DataFrame(data)
#查询领取优惠券的员工名字、年龄和城市信息
coupon_flag = True
tmp = df.query('coupon == @coupon_flag')[['name','age','city']]
print(tmp)
运行结果:
name age city
0 Tom 28 BeiJing
2 Steve 29 HangZhou
3 Ricky 42 HangZhou
在第二个案例中,我们采用@变量名的形式,将coupon_flag
变量传递给Pandas.query()方法,从而查询员工领取优惠券的情况。
3. 总结
以上就是Python用Pandas.query()方法过滤数据的完整攻略及相关实例,通过使用这个方法,我们可以方便地对数据进行筛选和过滤,也可以更快地编写出更高效的数据分析代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 用Pandas .query()方法过滤数据 - Python技术站