如何在数据框中添加具有递增值的列,该值由全数字和另一列具有随机数组成

时间:2019-06-26 08:05:34

标签: python python-3.x pandas dataframe

具有df:

如何在整个表格中插入数值递增的列

df:

   0 
1  a 
2  b
3  c 

预期产量:

        0         1
    1   a       pa001
    2   b       pa002
    3   c       pa003

...... 对于另一部分则具有df以及如何在范围内插入随机整数

randint(3.5,4.5)一样适合整个桌子

df:

   0 
1  a 
2  b
3  c

输出:

   0   |   1
1  a   |  3.5
2  b   |  3.6
3  c   |  3.7

1 个答案:

答案 0 :(得分:1)

在列表理解中使用f字符串:

df['a'] = [f'pa{x:03}' for x in range(1, len(df)+1)]

或将索引转换为字符串并使用str.zfill

df['a'] = 'pa' +  df.index.astype(str).str.zfill(3)

如果可能的索引值不同,请通过Series创建np.arange

df['a'] = 'pa' +  pd.Series(1, np.arange(len(df) + 1)).astype(str).str.zfill(3)

然后使用numpy.arangenumpy.random.uniform

#if need counter
df['b'] = np.arange(3.5, len(df) * 0.1 + 3.5, 0.1)
#if need random between
df['c'] = np.random.uniform(3.5, 4.5, len(df))
print (df)
   0      a    b         c
1  a  pa001  3.5  4.137877
2  b  pa002  3.6  4.380499
3  c  pa003  3.7  3.799172