Одним из способов является использование функции categorical
из scikits.statsmodels . Например:
In [60]: from scikits.statsmodels.tools import categorical
In [61]: a = np.array( ['a', 'b', 'c', 'a', 'b', 'c'])
In [62]: b = categorical(a, drop=True)
In [63]: b.argmax(1)
Out[63]: array([0, 1, 2, 0, 1, 2])
Возвращаемое значение из categorical
(b
) на самом деле является матрицей проекта, поэтому вызов argmax
выше, чтобы получить его ближе к желаемому формату.
In [64]: b
Out[64]:
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.],
[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])