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

Pandas数据列字符串替换问题:str.replace方法未生效

解决Pandas中str.replace清理薪资列未生效的问题

核心问题

执行df['Salary Estimate'].str.replace(' (Glassdoor est.)', '',regex=True)后原数据没变化,本质是两个原因:

  • 未将替换后的结果赋值回原DataFrame列,str.replace默认返回新Series,不会修改原数据
  • 正则表达式中的()是特殊分组符号,直接写入会导致匹配失效

可行解决方案

方案1:关闭正则模式,直接匹配字符串

无需处理正则特殊字符,直接匹配目标文本:

df['Salary Estimate'] = df['Salary Estimate'].str.replace(' (Glassdoor est.)', '', regex=False)

方案2:转义正则特殊字符

若需保留正则模式,把括号转义为普通字符:

df['Salary Estimate'] = df['Salary Estimate'].str.replace('\(Glassdoor est.\)', '', regex=True)

进阶处理(适配格式差异)

如果部分行的空格数量不一致,用\s*匹配任意空格:

df['Salary Estimate'] = df['Salary Estimate'].str.replace('\s*\(Glassdoor est.\)', '', regex=True)

效果验证

处理后:

  • 原内容$53K-$91K (Glassdoor est.)会变为$53K-$91K
  • 原内容-1保持不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:54:55