1. Pandas多个条件(AND,OR,NOT)中提取行
Pandas是Python中一个常用的数据处理库,它的使用方便,能够对数据进行快速的操作和处理。在数据处理过程中,有时候需要根据多个条件来提取符合条件的数据行,这就需要用到Pandas多个条件的处理方式。
1.1 AND条件查询
AND条件查询是指满足多个条件同时成立的记录,这种情况下,可以使用&符号将多个条件组合到一起实现,示例如下:
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tony'],
'age': [18, 20, 22, 19],
'sex': ['M', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# AND条件查询
df1 = df[(df['age'] > 18) & (df['sex'] == 'M')]
print(df1)
运行结果如下:
name age sex
1 Jerry 20 M
3 Tony 19 M
从运行结果可以看出,通过&符号将两个条件组合到一起,查询出满足条件的两条记录。
1.2 OR条件查询
OR条件查询是指满足多个条件中任意一个条件成立的记录,这种情况下,可以使用|符号将多个条件组合到一起实现,示例如下:
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tony'],
'age': [18, 20, 22, 19],
'sex': ['M', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# OR条件查询
df1 = df[(df['age'] > 20) | (df['sex'] == 'F')]
print(df1)
运行结果如下:
name age sex
2 Mike 22 F
从运行结果可以看出,通过|符号将两个条件组合到一起,查询出满足条件的一条记录。
1.3 NOT条件查询
NOT条件查询是指不满足特定条件的记录,这种情况可以使用~符号对条件进行取反实现,示例如下:
import pandas as pd
# 创建一个DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tony'],
'age': [18, 20, 22, 19],
'sex': ['M', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# NOT条件查询
df1 = df[~(df['sex'] == 'M')]
print(df1)
运行结果如下:
name age sex
2 Mike 22 F
从运行结果可以看出,通过~符号对条件进行取反,查询出满足条件的一条记录。
2. 案例演示
接下来,我们通过一个实际案例演示Pandas多个条件查询的使用。
2.1 数据描述
假设有一份员工信息表,其中包括员工的姓名、性别、年龄、月薪等信息。现在需要从中查询出性别为“女”的员工,并且年龄在25岁以下或月薪超过10000元的记录。
首先,让我们来创建一个包含员工信息的DataFrame:
import pandas as pd
# 创建一个包含员工信息的DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tony', 'Mary', 'Linda', 'Lucy'],
'age': [20, 28, 30, 24, 25, 26, 22],
'sex': ['M', 'M', 'M', 'M', 'F', 'F', 'F'],
'salary': [8000, 12000, 9000, 8500, 11000, 10000, 13000]}
df = pd.DataFrame(data)
print(df)
运行结果如下:
name age sex salary
0 Tom 20 M 8000
1 Jerry 28 M 12000
2 Mike 30 M 9000
3 Tony 24 M 8500
4 Mary 25 F 11000
5 Linda 26 F 10000
6 Lucy 22 F 13000
2.2 条件查询实现
根据上述条件,我们可以通过Pandas多个条件查询的方式实现,查询代码如下:
# 使用Pandas多个条件查询功能查询符合条件的数据
df1 = df[(df['sex'] == 'F') & ((df['age'] < 25) | (df['salary'] > 10000))]
print(df1)
运行结果如下:
name age sex salary
4 Mary 25 F 11000
6 Lucy 22 F 13000
从运行结果可以看出,查询出符合条件的员工信息。
总结
本文主要介绍了Pandas多个条件查询(AND、OR、NOT)的功能实现方式,并通过一个实际案例演示了其使用方法。在实际数据处理过程中,灵活运用Pandas多个条件查询功能,能够高效地处理数据,提高工作效率。