如何在熊猫数据框中的列中填充字母数字系列?

时间:2020-02-06 18:52:49

标签: python python-3.x pandas alphanumeric

我有某些具有这样结构的pandas数据框

A    B    C

1    2    2
2    2    2 
...

我想创建一个名为ID的新列,并用看起来像这样的字母数字系列填充

ID       A    B    C

GT001    1    2    2
GT002    2    2    2 
GT003    2    2    2 
...

我知道如何用字母或数字填充它,但是我不知道是否存在“ Pandas本机”方法可以让我填充字母数字系列。什么是最好的方法?

2 个答案:

答案 0 :(得分:0)

import pandas as pd
import numpy as np

df = pd.DataFrame({'player': np.linspace(0,20,20)})

n = 21
data = ['GT' + '0'*(3-len(str(i))) + str(i) for i in range(1, n)]
df['ID'] = data

输出:

       player     ID
0    0.000000  GT001
1    1.052632  GT002
2    2.105263  GT003
3    3.157895  GT004
4    4.210526  GT005
5    5.263158  GT006
6    6.315789  GT007
7    7.368421  GT008
8    8.421053  GT009
9    9.473684  GT010
10  10.526316  GT011
11  11.578947  GT012
12  12.631579  GT013
13  13.684211  GT014
14  14.736842  GT015
15  15.789474  GT016
16  16.842105  GT017
17  17.894737  GT018
18  18.947368  GT019
19  20.000000  GT020

答案 1 :(得分:0)

欢迎堆栈溢出!

如果要使用自定义ID,则必须创建具有所需索引的列表:

list = []

for i in range(1, df.shape[0] + 1): # gets the length of the DataFrame.
    list.append(f'GT{i:03d}') # Using f-string for format and 03d for leading zeros.

df['ID'] = list

如果您要将其设置为索引,请执行df.set_index('ID', inplace=True)