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

如何基于对应列表为DataFrame创建布尔校验新列

实现方案

完全可以基于给定列表生成目标布尔校验列,直接使用pandas内置的isin方法完成匹配判断,组合两个校验结果即可,不需要写自定义循环逐行判断。

核心操作逻辑

  • 调用Series.isin()方法逐行判断Column1的值是否存在于list1中,生成第一组布尔校验序列
  • 同法判断Column2的值是否存在于list2中,生成第二组布尔校验序列
  • 对两个布尔序列做逐位逻辑与运算,只有两个校验同时为True的行,最终结果才为True,将计算结果赋值给新的Check列即可

可直接运行的示例代码

import pandas as pd

# 定义校验列表
list1 = ['Jack', 'Sam', 'Paul']
list2 = ['David', 'Detlef', 'Sam']

# 构造示例DataFrame
df = pd.DataFrame({
    "Column1": ["Selena", "Jack", "Sam"],
    "Column2": ["David", "Sam", "Detlef"]
})

# 生成校验列
df["Check"] = df["Column1"].isin(list1) & df["Column2"].isin(list2)

运行输出结果

Column1 Column2  Check
0  Selena   David  False
1    Jack     Sam   True
2     Sam  Detlef   True

和期望的输出完全匹配。

优化提示:如果校验列表数据量很大,可以预先将列表转换为集合结构(即set(list1)、set(list2))再传入isin方法,能显著提升大场景下的匹配速度;做逐位逻辑运算时,两个独立的校验表达式建议用括号包裹,避免因运算符优先级出现代码报错。


内容的提问来源于stack exchange,提问作者s_khan92

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 14:54:03