我有一个n个整数的numpy数组,范围从0到M(含) . 我希望将它们作为索引处理成NxM矩阵,该矩阵在数组指示的每个位置包含1,在其他地方包含0 . 例如,如果给定N = 4,则M = 2,我具有以下数组
[1, 0, 2, 1]
我想得到这个矩阵
[0 1 0] [1 0 0] [0 0 1] [0 1 0]
即,第0行在第1列中有1,第1行在第0列中有1,等等 .
如何在numpy中进行这种转换?
这需要multi-dimensional array indexing .
a = np.array([1, 0, 2, 1]) z = np.zeros(12, dtype=int).reshape(4,3) z[np.arange(a.size), a] = 1
1 回答
这需要multi-dimensional array indexing .