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

Python:将列中数据转为三位格式并拼接生成Product_Code列

解决方法:用Pandas生成带格式的Product_Code列

针对你的需求,我们可以用Python的Pandas库轻松实现,分两步走:先把Color列处理成三位带前导零的字符串,再和Style列拼接成Product_Code。

步骤1:准备示例数据

先模拟你给出的示例数据(注意Color列是浮点数类型):

import pandas as pd

# 创建示例DataFrame
data = {
    'Style': [323, 400, 323],
    'Color': [10.0, 111.0, 23.0],
    'Price': [10, 8, 5]
}
df = pd.DataFrame(data)

步骤2:处理Color列格式

因为Color是浮点数,我们需要先把它转换成整数(去掉小数点),再格式化为三位带前导零的字符串。这里有两种常用方法:

方法A:使用astype(int) + str.zfill(3)

# 先转整数,再补零到三位
df['Color_formatted'] = df['Color'].astype(int).astype(str).str.zfill(3)
  • astype(int):把浮点数转成整数(比如10.0→10,23.0→23)
  • astype(str):转成字符串才能使用zfill方法
  • str.zfill(3):自动在字符串前面补零,直到总长度为3(比如'10'→'010','23'→'023','111'保持不变)

方法B:使用apply和格式化字符串

# 用lambda函数直接格式化
df['Color_formatted'] = df['Color'].apply(lambda x: f"{int(x):03d}")

这种方式更简洁,直接把浮点数转成整数后,用03d格式符强制输出三位数字,不足的补前导零。

步骤3:拼接生成Product_Code列

把Style列转成字符串,和处理后的Color字符串用-拼接:

df['Product_Code'] = df['Style'].astype(str) + '-' + df['Color_formatted']

最终结果

执行完以上步骤后,你的DataFrame会变成:

StyleColorPriceColor_formattedProduct_Code
032310.010010323-010
1400111.08111400-111
232323.05023323-023

如果不需要保留Color_formatted中间列,可以直接一步到位:

df['Product_Code'] = df['Style'].astype(str) + '-' + df['Color'].apply(lambda x: f"{int(x):03d}")

这样就完美实现了你想要的Product_Code格式!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 17:42:48