如何用一行代码为DataFrame每行生成含整数和字符串的唯一ID?
一行代码生成自定义id列的解决方案
原始数据
import pandas as pd df = pd.DataFrame( { 'a': [4, 3, 2, 2, 6] } )
需求
新增id列,格式为x_+从0开始的连续数字,预期输出:
a id 0 4 x_0 1 3 x_1 2 2 x_2 3 2 x_3 4 6 x_4
一行代码实现(不依赖index)
以下几种方案都能在一行内完成,且完全不使用DataFrame的index:
方案1(结合numpy)
import numpy as np df['id'] = 'x_{}'.format(np.arange(len(df)))
方案2(f-string列表推导)
df['id'] = [f'x_{i}' for i in range(len(df))]
方案3(numpy+列表推导)
import numpy as np df['id'] = [f'x_{i}' for i in np.arange(len(df))]
这些方案直接基于DataFrame的长度生成连续序号,一步完成字符串拼接与列赋值,替代原来的两步操作。
内容的提问来源于stack exchange,提问作者AmirX
相关产品推荐
相关产品推荐

