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

Python如何判断DataFrame指定多列是否包含指定字符串并新增标记列

Python Pandas 实现方案

前置依赖

首先确保你已经安装了pandas库,可按需搭配numpy使用:

import pandas as pd
import numpy as np

核心代码实现

假设你的原始DataFrame变量名为df,核心实现逻辑如下:

  • 筛选A、B、C三列,逐行判断是否存在值等于"Type AB"的单元格
  • 根据判断结果为新列赋值,匹配成功的行赋值为Present,未匹配的可自定义默认值(以下示例默认填空字符串)

写法1(推荐,性能更高)

# 生成布尔掩码:每行A/B/C列有任意一个等于"Type AB"则为True
match_mask = df[['A', 'B', 'C']].eq("Type AB").any(axis=1)
# 生成新列
df['TypeAB_present'] = np.where(match_mask, "Present", "")

写法2(无需numpy依赖)

df['TypeAB_present'] = df[['A', 'B', 'C']].apply(
    lambda row: "Present" if "Type AB" in row.values else "",
    axis=1
)

如果你需要模糊匹配(即单元格内容包含"Type AB"即可,不需要完全相等),可以把eq("Type AB")替换为apply(lambda col: col.str.contains("Type AB", na=False)),自动忽略空值的匹配报错。

效果示例

示例图片

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:39:03