为什么pandas的replace函数无法正常删除DataFrame中的指定子字符串?
核心原因
你调用的是pandas.Series顶层的replace()方法,该方法默认执行全值匹配规则:仅当单元格的完整内容和目标字符串完全相等时才会触发替换,而包含目标子字符串、但整体内容更长的单元格不会被处理,这就是替换未生效的根本原因。
解决方案
如果要实现全局子字符串替换,需要调用字符串访问器下的str.replace()方法,示例代码如下:
# 增加regex=False参数,明确传入的是普通文本而非正则表达式,避免特殊字符解析异常 dfReviews['review'] = dfReviews['review'].str.replace("This review contains spoilers, click expand to view.", "", regex=False)
结果校验
替换完成后执行原有校验代码,即可确认目标子字符串已被全部清除:
dfReviews['review'].str.contains("This review contains spoilers, click expand to view.").value_counts()
内容的提问来源于stack exchange,提问作者Pablo Garcia
相关产品推荐
相关产品推荐

