有没有办法在Python中将多维数组重塑为一维向量?

问题描述

所以我想把这个数组转

   array([[1.,0.,0.],[0.,1.,1.],0.]])
          [1.,0.]])

进入此数组

   array([ 0,4,9,6,0])

因此,将原始数组的每一行替换为一个等于该行中“ 1”所在位置的值。

解决方法

您可以使用numpy.argmax

a = np.array([[1.,0.,0.],[0.,1.,1.],[1.,0.]])

print( np.argmax(a,axis=1) )

打印:

[0 3 9 6 0]
,

尝试一下:

array = np.array([[1.,0.]])
          
print(np.where(array == 1)[1]

输出:

array([0,3,9,6,0])