Как заполнить ряд alphanumeri c столбцом в кадре данных pandas? - PullRequest
1 голос
/ 06 февраля 2020

У меня есть определенный pandas фрейм данных, который имеет такую ​​структуру

A    B    C

1    2    2
2    2    2 
...

Я хочу создать новый столбец с именем ID и заполнить его серией alphanumeri c, которая выглядит примерно так

ID       A    B    C

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

Я знаю, как заполнить его алфавитами или цифрами, но я не мог понять, существует ли метод "Pandas native", который позволил бы мне заполнить ряд alphanumeri c. Как лучше всего это сделать?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Добро пожаловать в переполнение стека!

Если вам нужен пользовательский идентификатор, вам нужно создать список с нужным индексом:

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)

0 голосов
/ 06 февраля 2020
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...