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

如何在DataFrame的ACCOUNT_NO列指定位置插入零补全至16位

在DataFrame指定位置插入零处理14位账号列

要实现把14位数字的ACCOUNT_NO列,在第4位和第8位位置各插入一个零变为16位,你可以利用Pandas的字符串切片拼接功能,直接完成需求:

代码实现

import pandas as pd

# 对目标列进行处理
df['ACCOUNT_NO'] = df['ACCOUNT_NO'].astype(str).apply(
    lambda x: x[:3] + '0' + x[3:6] + '0' + x[6:]
)

逻辑解释

  • 先通过astype(str)把数字列转为字符串,才能进行切片操作
  • x[:3]:截取原14位字符串的前3位(对应示例里的333)
  • 拼接'0':在第4位位置插入零
  • x[3:6]:截取原字符串第4到第6位(对应示例里的222)
  • 再次拼接'0':在第8位位置插入零
  • x[6:]:截取原字符串剩余的8位(对应示例里的88888888)

拼接后正好得到16位的目标格式,比如原数值33322288888888会被处理为3330222088888888。

可选校验步骤

如果不确定列中是否全为14位数字,可以先做长度校验,避免切片出错:

# 查看列中字符串长度的唯一值
print(df['ACCOUNT_NO'].astype(str).str.len().unique())

如果输出不全是14,需要先清洗数据再执行上述处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:55:25