欢迎访问宙启技术站
智能推送

使用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()函数进行多条件筛选的一个例子。通过这个函数,我们可以方便地组合多个条件进行数据筛选,提取我们需要的数据。