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

如何基于多部分字符串匹配从现有pandas DataFrame创建新DataFrame?

pandas多字符串匹配筛选DataFrame的正确方法

你遇到的错误是因为在pandas中不能直接用Python原生的or连接布尔Series——str.contains返回的是每个元素对应布尔值的Series,原生or无法判断整个Series的布尔真值,必须用pandas支持的向量化逻辑运算符或者正则表达式合并匹配条件。

解决方案1:使用向量化逻辑或|

给每个str.contains条件单独加括号,用|替代or,实现元素级的逻辑判断:

df_filtered = df[(df['text'].str.contains("Commercial")) | 
                 (df['text'].str.contains("Corporate")) | 
                 (df['text'].str.contains("SME"))]

解决方案2:用正则表达式合并匹配项(更简洁高效)

把多个目标字符串用正则的|合并,只调用一次str.contains,性能更优:

df_filtered = df[df['text'].str.contains("Commercial|Corporate|SME")]

可选:忽略大小写匹配

如果需要不区分大小写筛选,添加case=False参数:

df_filtered = df[df['text'].str.contains("commercial|corporate|sme", case=False)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:35:31