需要从text特征中提取形如 13.5/10 这样的字符串,再分别提取分子分母。
1)可以利用 str.extract()
方法。
2)利用正则表达式 \d+\.?\d*\/\d+
进行匹配
3)再利用 .split()
方法提取分子分母
id lable
train/395017260.png 0
train/392533560.png 0
train/359114469.png 1
train/963384410.png 1
train/936296787.png 2
train/392300217.png 2
train/905688343.png 3
train/909982060.png 3
train/288740989.png 3
train/329893220.png 3
train/650779311.png 3
train/44827996.png 4
a = pd.read_csv('train_list.txt', sep = ' ', dtype={'id':str, 'lable':int})
a['id']=pd.to_numeric(a['id'].str.extract(r'(\d+)'))
>>> a
id lable
0 395017260 0
1 392533560 0
2 359114469 1
3 963384410 1
4 936296787 2
5 392300217 2
6 905688343 3
7 909982060 3
8 288740989 3
9 329893220 3
10 650779311 3
11 44827996 4