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

使用Python pandas查找列含指定文本时新增关键词全返回False如何解决

问题原因

你代码中设置了regex=False参数,此时str.contains()会把传入的搜索字符串整体作为普通文本匹配,不会解析|为“或”的逻辑,也就是说你当前的代码实际是在搜索同时包含x、|、y三个字符连在一起的内容,而不是匹配包含x或者y的内容,这就是匹配结果全为False的核心原因。

修复方案

根据你的使用场景可以选择两种修改方式:

  • 如果你需要用|实现多关键词的或匹配,且搜索关键词本身不包含|、.这类正则特殊字符,直接把regex参数设为True即可:
df["MED"] = df['Description'].str.contains('x|y', case=False, regex=True)
  • 如果你确实需要关闭正则匹配(比如搜索关键词本身就包含正则特殊字符,不想被解析为正则语法),可以把多个关键词的匹配逻辑分开后用逻辑或拼接:
# 少量关键词写法
df["MED"] = df['Description'].str.contains('x', case=False, regex=False) | df['Description'].str.contains('y', case=False, regex=False)

# 大量关键词批量写法
keywords = ['x', 'y', '其他需要搜索的关键词']
df["MED"] = df['Description'].apply(lambda s: any(k in s for k in keywords))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:39:03