Pandas条件筛选与组合筛选的使用
在Pandas中,条件筛选和组合筛选是两种常见的数据筛选方式。它们可以帮助我们快速地筛选和过滤数据,从而进行数据分析和绘图。
条件筛选
条件筛选是根据条件来筛选数据的过程。Pandas提供了多种条件筛选的方法,如使用query()
函数、使用布尔索引等。
使用query()
函数
query()
函数可以根据传入的查询表达式来筛选数据。查询表达式可以包含多个条件,使用and
、or
、not
等逻辑运算符组合,更加灵活方便。
例如,我们有以下一份员工数据的DataFrame表格:
import pandas as pd
data = {
'Name': ['Tom', 'Jerry', 'Peter', 'Jack', 'Lucy', 'Mary'],
'Age': [25, 28, 35, 21, 28, 30],
'Gender': ['M', 'M', 'M', 'M', 'F', 'F'],
'Salary': [3000, 4500, 5000, 2000, 6000, 5500]
}
df = pd.DataFrame(data)
print(df)
输出结果为:
Name Age Gender Salary
0 Tom 25 M 3000
1 Jerry 28 M 4500
2 Peter 35 M 5000
3 Jack 21 M 2000
4 Lucy 28 F 6000
5 Mary 30 F 5500
我们可以使用query()
函数来筛选年龄大于等于30岁且工资不低于5000元的男性员工,代码如下:
result = df.query('Age>=30 and Gender=="M" and Salary>=5000')
print(result)
输出结果为:
Name Age Gender Salary
2 Peter 35 M 5000
使用布尔索引
布尔索引可以根据条件来筛选数据。我们可以使用条件运算符(如>
、>=
、<
、<=
、==
、!=
等)来生成条件,然后将条件传递给DataFrame表格,进行数据筛选。
例如,我们可以使用以下代码筛选出所有年龄大于等于30岁的员工:
result = df[df['Age']>=30]
print(result)
输出结果为:
Name Age Gender Salary
2 Peter 35 M 5000
5 Mary 30 F 5500
组合筛选
组合筛选是将多个条件组合起来进行筛选的方式。Pandas提供了&
(与)、|
(或)和~
(非)等符号来实现组合筛选。
例如,我们可以使用以下代码筛选出所有年龄不小于25岁且薪资在4000元至6000元之间的员工:
result = df[(df['Age']>=25) & (df['Salary']>=4000) & (df['Salary']<=6000)]
print(result)
输出结果为:
Name Age Gender Salary
0 Tom 25 M 3000
1 Jerry 28 M 4500
4 Lucy 28 F 6000
总结
条件筛选和组合筛选是Pandas中常用的数据筛选方式。通过灵活使用条件运算符和逻辑运算符,我们可以完成各种数据筛选和过滤的操作,方便我们进行数据分析和绘图。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas条件筛选与组合筛选的使用 - Python技术站