在做机器学习项目时,经常要将列表中不同字符换为不同数字,比如:
['Jogging' 'Jogging' 'Jogging' 'Jogging' 'Jogging' 'Jogging' 'Upstairs' 'Upstairs' 'Downstairs' 'Downstairs' 'Downstairs']
转换为
[1 1 1 1 1 1 2 2 0 0 0]
我估计应该有专用的numpy函数,但我没找到..
自己写了一个:
import numpy as np
def str_to_num(list):
list_unique = np.unique(list)
list_unique_len = len(list_unique)
new_list = np.array([], dtype=int)
for i in list:
for j in range(list_unique_len):
if list_unique[j] == i:
new_list = np.append(new_list, int(j))
return new_list