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

如何在Python的Pandas DataFrame中为code列补前导零至5位

解决Pandas DataFrame中code列补前导零的问题

先还原你的原始数据:

import pandas as pd

df = pd.DataFrame({
    'ID': [0, 1, 2, 3, 4, 5],
    'code': [14563, 4563, 1463, 82930, 903, 18392],
    'color': ['red', 'blue', 'green', 'red', 'green', 'red']
})

要实现code列值为4位及以下时,左侧补前导零至5位的需求,直接用Pandas的字符串方法就能搞定,步骤如下:

# 先将code列转为字符串类型,再执行补零操作
df['code'] = df['code'].astype(str).str.zfill(5)

代码说明

  • astype(str):把数值类型的code列转成字符串,因为数值无法存储前导零,必须转成字符串才能保留补的零
  • str.zfill(5):自动给每个字符串左侧补零,直到长度达到5位;如果原字符串长度已经≥5,就保持原样

处理后的DataFrame如下:

IDcodecolor
014563red
104563blue
201463green
382930red
400903green
518392red

如果非要保持code列为数值类型(但前导零会丢失,仅适合展示场景),可以用格式化输出:

# 仅用于展示,实际存储还是数值,前导零不会保留
df['code_display'] = df['code'].apply(lambda x: f"{x:05d}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:18:23