Numpy 将一个热编码转换回数字标签

Numpy 将一个热编码转换回数字标签,numpy,Numpy,我有一系列的热编码向量,比如 np.数组[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] 我想把它转换回 np.数组0,1,1,2,3 有没有一种没有for循环的有效方法?正如@Divakar在评论中指出的那样,NumPy是完成工作最简单的方法。请注意,您需要向函数传递参数axis的正确值 在[18]中:将numpy作为np导入 在[19]中:x=np.数组[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,1,0],[0

我有一系列的热编码向量,比如

np.数组[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]

我想把它转换回

np.数组0,1,1,2,3


有没有一种没有for循环的有效方法?

正如@Divakar在评论中指出的那样,NumPy是完成工作最简单的方法。请注意,您需要向函数传递参数axis的正确值

在[18]中:将numpy作为np导入 在[19]中:x=np.数组[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] 在[20]中:np.argmaxx,轴=-1 Out[20]:数组[0,1,1,2,3],dtype=int64 使用numpy.argmax。