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

Pandas筛选含"C("的SMILES列条目报错,该如何修复?

问题修复方案

报错原因很直接:str.contains()默认采用正则表达式匹配逻辑,而(是正则里的特殊元字符,用来标记子模式的起始,你写的C(会被解析成一个未闭合的子模式,所以触发了"missing ), unterminated subpattern"错误。

有两种简单的修复方式:

方式1:转义正则特殊字符

把括号转义成普通字符,用Python原始字符串写法更方便,避免双反斜杠的繁琐:

newdf2 = df[df['SMILES'].str.contains(r'C\(')].reset_index(drop=True)

方式2:关闭正则匹配模式

如果你只是要匹配固定的C(字符串,不需要正则的复杂匹配逻辑,直接设置regex=False即可:

newdf2 = df[df['SMILES'].str.contains('C(', regex=False)].reset_index(drop=True)

两种方法都能正确筛选出SMILES中包含C(的化学品,第二种更直观,适合这种简单的固定字符串匹配场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:47:13