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

Python Pandas:匹配以'0'开头的单元格并替换为Unknown

解决以'0'开头的单元格替换问题

问题场景

需要将DataFrame中以'0'开头的单元格替换为Unknown,但之前的代码会误改所有包含'0'的单元格(比如40、70开头的)。

原始数据

column1
12 - abcsffj
40 - dhjsadjal
0 - dahdalk
70 - dkalskda

错误代码及问题

原代码使用str.contains('0')会匹配所有包含字符'0'的字符串,不管'0'在什么位置,导致40、70开头的单元格也被修改:

df.loc[df['column1'].str.contains('0'), 'column1'] = 'Unknown'

两种正确解决方案

方案1:使用str.startswith()(更直观)

直接判断字符串是否以'0'开头,逻辑清晰:

df.loc[df['column1'].str.startswith('0'), 'column1'] = 'Unknown'

方案2:使用正则表达式锚点^

用正则^0匹配字符串起始位置的'0',默认开启正则模式,可省略regex=True参数:

df.loc[df['column1'].str.contains('^0'), 'column1'] = 'Unknown'

执行后期望输出

column1
12 - abcsffj
40 - dhjsadjal
Unknown
70 - dkalskda

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:10:28