使用where()函数将多个条件组合在一起进行筛选
发布时间:2023-12-24 04:32:08
where()函数是一种用于筛选数据的函数,可以将多个条件组合在一起进行筛选。不同于普通的筛选条件,where()函数可以同时处理多个条件,并且可以使用逻辑运算符进行条件之间的组合。
下面是一个使用where()函数的例子:
假设我们有一个包含学生信息的数据集,其中包括学生姓名、年龄、性别和成绩等信息。我们希望筛选出年龄在18到22岁之间且成绩大于85分的女生。
首先,我们需要导入相关的库,例如numpy和pandas:
import numpy as np import pandas as pd
然后,我们创建一个示例数据集:
data = {'Name': ['Tom', 'Jerry', 'Alice', 'Bob', 'Amy'],
'Age': [20, 19, 21, 18, 22],
'Gender': ['M', 'M', 'F', 'M', 'F'],
'Score': [75, 90, 80, 88, 92]}
df = pd.DataFrame(data)
数据集的内容如下:
Name Age Gender Score 0 Tom 20 M 75 1 Jerry 19 M 90 2 Alice 21 F 80 3 Bob 18 M 88 4 Amy 22 F 92
接下来,我们使用where()函数进行筛选:
filtered_df = df.where((df['Age'] >= 18) & (df['Age'] <= 22) & (df['Gender'] == 'F') & (df['Score'] > 85))
在这个例子中,我们通过where()函数筛选出符合以下条件的数据:
- 年龄在18到22岁之间
- 性别为女性
- 成绩大于85分
函数中的条件是通过多个逻辑运算符来组合的。&代表逻辑与运算符,表示所有条件必须同时满足。
筛选的结果如下:
Name Age Gender Score 0 NaN NaN NaN NaN 1 NaN NaN NaN NaN 2 Alice 21.0 F 80.0 3 NaN NaN NaN NaN 4 Amy 22.0 F 92.0
筛选结果中,不满足条件的数据被填充为NaN(缺失值)。
最后,我们可以通过dropna()函数删除缺失值,得到最终的筛选结果:
final_df = filtered_df.dropna()
最终的筛选结果如下:
Name Age Gender Score 2 Alice 21.0 F 80.0 4 Amy 22.0 F 92.0
这就是使用where()函数进行多条件筛选的一个例子。通过这个函数,我们可以方便地组合多个条件进行数据筛选,提取我们需要的数据。
