我有一个大小为(N,)
的numpy向量,它包含1-5
之间的整数,并且通过使用keras函数to_categorical,我正在构建大小为(Nx5)
的对应二进制矩阵。例如,如果向量的第一个值是1,那么数组的第一行是(1, 0, 0, 0, 0)
。我怎么能这样做呢?通过使用一组值(也可能是双值)来返回具有最高值的索引?是否有任何命令可以自动执行此操作?
作为示例,我的输入可以是具有双精度的2D数组,例如,一行可以是[[0.025, 0.022, 0.58, 0.011, 0.22 ]....]
,结果是该行[3 ...]
。
答案 0 :(得分:1)
如果a
是您的数组,请使用:
a.argmax(axis=1)
返回数组每一行的最大值索引。
<强>演示强>:
>>> a = np.array([[5,2,3],[1,3,1]])
>>> a.argmax(axis=1)
[0 1]