http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
numpy.newaxis
的newaxis對象可以在所有切片操作可以用來創建一個長度的軸線。 :const:newaxis是'None'的別名,'None'可以用來代替這個結果。
http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.expand_dims.html
與您的代碼
In [154]: labels=np.array([1,3,5])
In [155]: labels[:,None]
Out[155]:
array([[1],
[3],
[5]])
In [157]: np.arange(8)==labels[:,None]
Out[157]:
array([[False, True, False, False, False, False, False, False],
[False, False, False, True, False, False, False, False],
[False, False, False, False, False, True, False, False]], dtype=bool)
In [158]: (np.arange(8)==labels[:,None]).astype(int)
Out[158]:
array([[0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0]])