2024-04-26 01:23:57 发布
网友
我无法理解numpy中的整数数组索引。在
>>> x = np.array([[1, 2], [3, 4], [5, 6]]) >>> x[[0, 1, 2], [0, 1, 0]] array([1, 4, 5])
请解释一下这是怎么回事?在
x[[0,1,2],[0,1,0]]
{&cd1>您将使用哪个数组 [0,1,0]<;-在这里,您可以从每个指定数组中选择元素
[0,1,0]
所以数组0中的元素0,元素1的形式是arr 1,依此类推
我觉得最容易理解的是:
In [179]: x = np.array([[1, 2], [3, 4], [5, 6]]) In [180]: x Out[180]: array([[1, 2], [3, 4], [5, 6]])
假设我们要从这个矩阵中选择1,4,和{}。所以第0行的第0列,第1行的第1列,第2行的第0列。现在为索引提供两个数组(矩阵的每个维度对应一个数组),在这里我们用我们感兴趣的行和列填充这些数组:
1
4
In [76]: x = np.array([[1, 2], [3, 4], [5, 6]]) In [77]: x Out[77]: array([[1, 2], [3, 4], [5, 6]])
因为第一个和第二个索引列表的大小匹配,所以它们的值成对地从x中选择元素。我将用列表索引来说明:
x
或者更明确地说,它以1d数组的形式返回x[0,0]、x[1,1]和{}。另一种思考方法是,您已经(分别)从3行中选择了[0,1,0]元素。在
x[0,0]
x[1,1]
{&cd1>您将使用哪个数组
[0,1,0]
<;-在这里,您可以从每个指定数组中选择元素所以数组0中的元素0,元素1的形式是arr 1,依此类推
我觉得最容易理解的是:
假设我们要从这个矩阵中选择}。所以第0行的第0列,第1行的第1列,第2行的第0列。现在为索引提供两个数组(矩阵的每个维度对应一个数组),在这里我们用我们感兴趣的行和列填充这些数组:
^{pr2}$1
,4
,和{因为第一个和第二个索引列表的大小匹配,所以它们的值成对地从
^{pr2}$x
中选择元素。我将用列表索引来说明:或者更明确地说,它以1d数组的形式返回}。另一种思考方法是,您已经(分别)从3行中选择了
x[0,0]
、x[1,1]
和{[0,1,0]
元素。在相关问题 更多 >
编程相关推荐