在 np.array 中传递 np.array

Passing np.array in np.array

这就是问题,我们必须猜测输出结果。

我不知道我们甚至可以在另一个数组中传递一个数组。我得到了输出,但不明白如何。
我在 arr 中传递了 2 个数组 - ind1ind2

问题 -

import numpy as np
arr = np.arange(9, dtype = "float").reshape(3,3)
ind1 = np.array([[1,2],[0,1]])
ind2 = np.array([[0,2],[1,2]])
arr[ind1, ind2].sum()

输出

array([[3., 8.],
       [1., 5.]])

它的工作方式(我认为)是它采用两个数组 ind1ind2 并使用相应的值作为 arr 的索引。例如,

ind1 = [[1,2],[0,1]]
ind1 = [[0,2],[1,2]]
[ind1, ind2] = [[[1, 0],[2, 2]],[[0, 1],[1, 2]]]
arr[1, 0] = 3
arr[2, 2] = 8
arr[0, 1] = 1
arr[1, 2] = 5