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

如何移除字符串列中以四个及以上零开头的数字串?

移除产品名称列中以四个及以上零开头的编码

需要处理DataFrame的名称列,移除其中以4个或更多连续0开头的编码片段,但要保留像10000g这类重量信息里的连续零,同时处理编码和名称直接相连的情况。

示例输入数据

import pandas as pd

data = {
    'Name' : ['ANOA 250g 00004689', 'ANOA 10000g 00000059884', '80%c asjw 150000001568 ', 'Shivangi000000478761'],
}
  
testdf = pd.DataFrame(data)

解决方案

利用pandas的str.replace结合正则表达式,精准匹配并移除目标片段:

# 执行替换操作
testdf['Name'] = testdf['Name'].str.replace(r'(?:\s+0{4,}\d*)|(?<=\D)0{4,}\d*', '', regex=True)

# 查看处理后的结果
print(testdf)

正则表达式说明

  • (?:\s+0{4,}\d*):匹配空白字符开头,后跟4个及以上连续0,再跟任意数字的片段(比如 00004689),直接替换为空
  • (?<=\D)0{4,}\d*:匹配非数字字符结尾的文本后紧跟的、以4个及以上连续0开头的数字序列(比如Shivangi后的000000478761),替换为空

这套规则既能避开10000g这类重量里的连续零(因为这些零不是以4个零开头的独立片段),也能处理编码和名称直接相连的场景。

最终结果

处理后的数据与预期完全一致:

results = {
        'Name' : ['ANOA 250g', 'ANOA 10000g', '80%c asjw 150000001568 ', 'Shivangi'],
}
results_df = pd.DataFrame(results)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:30:52