如何在 pandas 数据框中的列中填充字母数字系列?
How to fill an alphanumeric series in a column in a pandas dataframe?
我有某些 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 native" 方法可以让我填充字母数字 series.What 是最好的如何做到这一点?
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
欢迎来到 Stack Overflow!
如果您想要自定义 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)
我有某些 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 native" 方法可以让我填充字母数字 series.What 是最好的如何做到这一点?
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
欢迎来到 Stack Overflow!
如果您想要自定义 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)