Python将列表中不同字符换为不同数字

在做机器学习项目时,经常要将列表中不同字符换为不同数字,比如:

['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

 

你可能感兴趣的:(Python)