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

Pandas如何删除DataFrame列字符串中字母后的前导零

实现方法

直接用pandas字符串接口的正则替换即可,不需要写循环,一行代码就能完成处理:

df['id'] = df['id'].str.replace(r'^([A-Za-z]+)0+', r'\1', regex=True)

逻辑说明

正则规则拆解:

  • ^([A-Za-z]+):捕获字符串开头连续的所有字母作为保留分组
  • 0+:匹配字母段后连续的1个或多个前导零,这部分是要删除的内容
  • 替换时只保留前面捕获的字母分组,后续非前导零的数字部分会自动保留,不会改动

效果验证

用你给出的示例数据测试,处理后输出完全符合预期:

id
0  IT30
1   IT4
2  IT22
3  BE34

如果你的字母段固定是2位大写字母,也可以把正则简化成r'^([A-Z]{2})0+',匹配效率会更高。如果存在字母后全是0的场景(比如IT000),这个规则处理后会得到IT0,符合数字前导零删除的常规逻辑,不会把最后一个有效0删掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:09:37