Python 将索引的numpy数组展开为matix
我有一个N个整数的numpy数组,范围从0到M(包括M)。我希望将它们视为NxM矩阵的索引,该矩阵在数组指示的每个位置都包含1,在其他位置都包含0。例如,如果给定N=4,M=2,我有以下数组Python 将索引的numpy数组展开为matix,python,numpy,indexing,Python,Numpy,Indexing,我有一个N个整数的numpy数组,范围从0到M(包括M)。我希望将它们视为NxM矩阵的索引,该矩阵在数组指示的每个位置都包含1,在其他位置都包含0。例如,如果给定N=4,M=2,我有以下数组 [1, 0, 2, 1] 我想得到这个矩阵 [0 1 0] [1 0 0] [0 0 1] [0 1 0] i、 e.第0行在第1列中有一个1,第1行在第0列中有一个1,以此类推 如何在numpy中进行此转换?这需要 a = np.array([1, 0, 2, 1]) z = np.zeros(12,
[1, 0, 2, 1]
我想得到这个矩阵
[0 1 0]
[1 0 0]
[0 0 1]
[0 1 0]
i、 e.第0行在第1列中有一个1,第1行在第0列中有一个1,以此类推
如何在numpy中进行此转换?这需要
a = np.array([1, 0, 2, 1])
z = np.zeros(12, dtype=int).reshape(4,3)
z[np.arange(a.size), a] = 1