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

如何用Pandas生成字符串与数字组合的自定义唯一标识列

问题解决:为Pandas DataFrame生成带前缀的连续唯一ID

问题描述

现有如下结构的Pandas DataFrame:

product_nmae
Productashd
productddsf
productkid

期望生成包含unique_id列的DataFrame,格式为sku-数字,数字从1开始连续递增:

product_nmae    unique_id
    Productashd    sku-1
    productddsf    sku-2
    productkid    sku-3

尝试执行df['unique_id'] = df.index + 1后得到错误结果(序号不连续):

product_nmae    unique_id
    Productashd       0
    productddsf       1
    productkid        3

解决方案

问题出在原DataFrame的索引不是连续的整数(比如第三行的索引是3而非2),直接用索引计算会导致序号断裂。可以通过以下两种方式生成连续的序号并拼接前缀:

方法一:使用range生成连续序列

直接基于DataFrame的行数生成从1开始的连续数字,再和前缀拼接:

df['unique_id'] = [f'sku-{i}' for i in range(1, len(df)+1)]

方法二:重置索引后计算

先重置索引得到连续的0起始序号,再加1并拼接前缀:

df = df.reset_index(drop=True)
df['unique_id'] = 'sku-' + (df.index + 1).astype(str)

两种方法都能生成从sku-1开始的连续唯一ID,不受原索引的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:42:22