簡體   English   中英

如何在熊貓數據框中的列中填充字母數字系列?

[英]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 
...

我知道如何用字母或數字填充它,但我不知道是否有一種“熊貓本機”方法可以讓我填充字母數字系列。這樣做的最佳方法是什么?

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

歡迎使用堆棧溢出!

如果您想要自定義 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM