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

如何一行代码移除DataFrame列值首尾左方括号并解决正则替换报错

报错原因

[是正则表达式的特殊字符,用于标识字符集的起始位置,你写的正则只有单独的[没有对应闭合的],所以触发了unterminated character set报错。

解决方案

下面提供3种可直接运行的一行代码实现,均自动跳过NaN值,不会影响非object类型的列:

1. 正则转义匹配

给[加转义符并用原始字符串包裹,直接通过replace的正则模式替换:

df[cols_to_check] = df[cols_to_check].replace({r"\[" : ""}, regex=True)

2. 字面量替换(关闭正则)

用str.replace并指定regex=False,匹配字面量的[不需要转义:

df[cols_to_check] = df[cols_to_check].apply(lambda s: s.str.replace("[", "", regex=False))

3. 首尾括号批量移除(最优适配你的场景)

你的取值格式是首尾均为[,直接用str.strip指定要移除的字符即可,效率更高:

df[cols_to_check] = df[cols_to_check].apply(lambda s: s.str.strip("["))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:06