Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将索引的numpy数组展开为matix_Python_Numpy_Indexing - Fatal编程技术网

Python 将索引的numpy数组展开为matix

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,

我有一个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, dtype=int).reshape(4,3)
z[np.arange(a.size), a] = 1