You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于两列条件为DataFrame创建返回Boolean值的新列

Pandas 新增满足双条件布尔列实现方法

直接通过布尔向量按位与运算组合两个筛选规则,给DataFrame赋值新列即可,不需要写循环遍历,pandas会自动完成行级匹配。

  • 学历组合条件用isin()做值匹配,覆盖三个目标学历:Bachelors、Masters、Doctorate
  • 薪资条件根据列的实际存储格式选择写法:如果是存的>50K/<=50K这类分类字符串,直接做等值匹配;如果是数值类型,直接做大小比较

完整代码示例

以通用成人收入数据集结构(学历列名education,薪资列名salary,薪资为分类字符串格式)为例:

# 新增布尔列,同时满足两个条件时值为True,否则为False
df['high_edu_high_salary_flag'] = (
    df['education'].isin(['Bachelors', 'Masters', 'Doctorate'])
    &
    (df['salary'] == '>50K')
)

如果你的薪资列是数值类型(单位:千美元),把第二个判断条件替换成(df['salary'] > 50)即可;如果薪资列是整数单位为美元,就替换成(df['salary'] > 50000)。

注意:两个判断条件必须分别用圆括号包裹,否则因为Python运算符优先级规则(位运算符&优先级高于比较运算符)会触发执行报错。

内容的提问来源于stack exchange,提问作者Ebrima C Jallow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 22:12:22