What is the best way to make this One Hot encoded matrix
array([[[1, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 0],
Use np.argmax along axis=2 -
np.argmax
axis=2
a.argmax(2)
Sample run -
In [186]: a Out[186]: array([[[1, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 0], [1, 0, 0]]]) In [187]: a.argmax(2) Out[187]: array([[0, 0, 1], [2, 1, 0]])