是否可以使用numpy
将字符串向量转换为索引向量?
假设我有一个像['ABC', 'DEF', 'GHI', 'DEF', 'ABC']
等字符串数组。我希望将它更改为像[0,1,2,1,0]
这样的整数数组。是否有可能使用numpy?我知道Pandas
有一个Series
类可以做到这一点,由this answer提供。 numpy
也有类似的内容吗?
编辑:
np.unique()
返回所有元素的唯一值。我要做的是将Iris dataset中的标签转换为索引,例如Iris-setosa
为0,Iris-versicolor
为1,Iris-virginica
为2。有没有办法使用numpy
?
答案 0 :(得分:3)
将numpy.unique
与参数return_inverse=True
一起使用,但处理NaN
时存在差异 - 请检查factorizing values:
L = ['ABC', 'DEF', 'GHI', 'DEF', 'ABC']
print (np.unique(L, return_inverse=True)[1])
[0 1 2 1 0]
pandas factorize
也很适合列表或数组:
print (pd.factorize(L)[0])
[0 1 2 1 0]