在Pandas中用多个过滤器选择行

  • Post category:Python

在 Pandas 中,我们可以使用多个过滤器选取行。下面是一个使用多个过滤器选取行的示例:

import pandas as pd

# 创建一个示例数据集
data = {'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eva'],
        'age': [25, 30, 35, 40, 45],
        'gender': ['female', 'male', 'female', 'male', 'female'],
        'salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)

# 设置两个过滤器 filter1 和 filter2
filter1 = df['age'] > 30
filter2 = df['gender'] == 'male'

# 使用多个过滤器选取行
result = df[filter1 & filter2]

print(result)

在上述示例中,我们使用了两个过滤器 filter1 和 filter2。第一个过滤器 df['age'] > 30 表示选择年龄大于 30 岁的行。第二个过滤器 df['gender'] == 'male' 表示选择性别为男性的行。& 运算符用于连接两个过滤器,表示同时满足 filter1 和 filter2 的行会被选中。在最终的结果中,只有 Bob 和 David 符合条件,因此只有这两行被选中。

值得注意的是,使用多个过滤器要用圆括号括起来,例如 (filter1) & (filter2),这是因为圆括号可以改变运算的优先级,确保过滤器的逻辑正确。