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

如何使用Pandas为DataFrame数字列补前导零并限制为8位固定长度

解决方案

首先明确:数字类型无法保留前导零,处理后该列会自动转为字符串类型。

方法1:使用zfill方法(最简洁)

zfill(n)是字符串内置方法,会自动在字符串左侧补零到指定长度n,长度满足要求的字符串不会被修改。
示例代码:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'column1': [81234567, 1294569, 23479]
})

# 核心处理逻辑
df['column1'] = df['column1'].astype(str).str.zfill(8)

处理后结果和期望完全一致:

column1
81234567
01294569
00023479

方法2:使用格式化字符串

如果目标列确定是整数类型,也可以用格式化方法直接处理:

df['column1'] = df['column1'].apply(lambda x: f"{x:08d}")

注意事项

  • 如果目标列本身已经是字符串类型,去掉astype(str)步骤直接调用str.zfill(8)即可。
  • 处理后列的类型为object(字符串),如果需要后续做数值计算,可单独备份原数值列。

内容的提问来源于stack exchange,提问作者Carlos Eduardo Abrantes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 14:42:01