如果我有一个多维数组,就像这样:
我希望能够得到一个数组,其中包含原数组中每个元素的索引,如下所示:
a = np.array([[9,9,9],[9,0,9],[9,9,9]])
我希望能够得到一个数组,其中包含原数组中每个元素的索引,如下所示:
i = np.array([[0,0],[0,1],[0,2],[1,0],[1,1],...])
我发现一种做法是使用 np.indices
,具体如下:
i = np.transpose(np.indices(a.shape)).reshape(a.shape[0] * a.shape[1], 2)
但这似乎有些笨拙,特别是考虑到np.nonzero
的存在,它几乎可以做我想要的。
是否有内置的numpy函数可以生成一个包含2D numpy数组中每个项索引的数组?
np.transpose(np.nonzero(a == a))
,但这几乎比使用indices
和reshape
更奇怪。 - squirl