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

如何用pandas str.replace仅替换单元格中单独出现的指定单词?

解决方法

要只替换**完全等于"Blah"**的单元格,而非包含"Blah"的单元格,你需要用正则表达式限定匹配整个字符串的开头和结尾——通过^(字符串开头)和$(字符串结尾)精准定位目标内容。

你之前使用的\bBlah\b会匹配所有独立存在的"Blah"单词(比如句子开头的"Blah"),因此会替换所有包含独立"Blah"的单元格内容,这不符合你的需求。

正确代码实现

import pandas as pd

data={"Col":["Blah","Blah gah","Blah bluh"],'Subs':["one","two","three"]}
df=pd.DataFrame(data)

# 仅替换整个单元格内容为"Blah"的情况
df["Col"] = df["Col"].str.replace(r'^Blah$', "Blah ALL", regex=True)
print(df)

输出结果

ColSubs
Blah ALLone
Blah gahtwo
Blah bluhthree

补充说明

  • ^Blah$表示匹配**从字符串开头到结尾完全是"Blah"**的内容,只会替换那些仅包含"Blah"的单元格。
  • 如果需要忽略大小写匹配,可以在正则后添加flags=re.IGNORECASE参数(需提前导入re模块)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:59:53