在 np.array 中传递 np.array
Passing np.array in np.array
这就是问题,我们必须猜测输出结果。
我不知道我们甚至可以在另一个数组中传递一个数组。我得到了输出,但不明白如何。
我在 arr
中传递了 2 个数组 - ind1
和 ind2
。
问题 -
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.]])
它的工作方式(我认为)是它采用两个数组 ind1
和 ind2
并使用相应的值作为 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
这就是问题,我们必须猜测输出结果。
我不知道我们甚至可以在另一个数组中传递一个数组。我得到了输出,但不明白如何。
我在 arr
中传递了 2 个数组 - ind1
和 ind2
。
问题 -
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.]])
它的工作方式(我认为)是它采用两个数组 ind1
和 ind2
并使用相应的值作为 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