为根据字母B更改的每行创建文本标签

2024-10-03 00:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定这是否可行,但我会试一试

我有一个数字列表,其格式如下:

Number  
008662  
007830  
015549  
008364  
001359  

我想要的是这些数字有一些文字标签。例如:

Number  Label
008662  sopa
007830  sopb
015549  sopc
008364  sopd
001359  sope

棘手的部分是我的数据框有632行,所以我需要能够有一些标签,比如aa, ab, bc等等


Tags: 数据number列表格式数字标签label文字
1条回答
网友
1楼 · 发布于 2024-10-03 00:32:00

通过使用string.ascii_letters

import string

df['Label']='sop'+pd.Series(list(string.ascii_lowercase)[:len(df)])
df
Out[1206]: 
   Number Label
0    8662  sopa
1    7830  sopb
2   15549  sopc
3    8364  sopd
4    1359  sope

对于您的情况,您需要使用product创建列表

from itertools import product
DF=pd.DataFrame(list(product(list(string.ascii_lowercase),list(string.ascii_lowercase))), columns=['l1', 'l2']).sum(1)

DF.head()
Out[1215]: 
0    aa
1    ab
2    ac
3    ad
4    ae
dtype: object

然后你会得到

df['Label']='sop'+DF[:len(df)]
df
Out[1218]: 
   Number  Label
0    8662  sopaa
1    7830  sopab
2   15549  sopac
3    8364  sopad
4    1359  sopae

相关问题 更多 >