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

如何移除DataFrame字符串指定位置的0,保留数据自身的0?

仅删除指定位置0的解决方案

针对固定格式字符串0xxxx000xxxx,要只删除固定位置的0而保留数据本身的0,这里提供两种实用方法:

方法1:字符串切片拼接

因为格式固定,直接通过切片提取需要保留的部分再拼接即可。以示例输入099890000890为例,它的结构是:第1位是要删的0,接下来4位是有效数据,然后3位是要删的0,最后4位是有效数据。直接截取对应位置拼接:

import pandas as pd

# 示例数据
df = pd.DataFrame({'item': ['099890000890', '012300004560']})
# 切片拼接:跳过第1位,取1-4位,再跳过中间3个0取后面的部分
df['item'] = df['item'].apply(lambda s: s[1:5] + s[8:])

运行后示例输入会输出99890890,完美保留了原数据中的0。

方法2:正则表达式匹配

如果需要确认字符串严格符合0xxxx000xxxx结构,可以用正则捕获有效部分并替换:

# 正则模式:匹配开头的0,捕获第一个4位有效数据,匹配中间3个0,捕获第二个4位有效数据
df['item'] = df['item'].str.replace(r'^0(....)000(....)$', r'\1\2')

这里的(....)对应4位有效数据,如果你的xxxx是5位,就改成(.....),以此类推。

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:45:42