Python 如何使用存储在另一个numpy数组中的一组索引访问numpy数组?
我有一个numpy数组,它存储了访问另一个numpy数组所需的一组索引 我尝试使用Python 如何使用存储在另一个numpy数组中的一组索引访问numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,我有一个numpy数组,它存储了访问另一个numpy数组所需的一组索引 我尝试使用for循环,但它没有像我预期的那样工作 情况是这样的: >>> a array([[1, 2], [3, 4]]) >>> c array([[0, 0], [0, 1]]) >>> a[c[0]] array([[1, 2], [1, 2]]) >>> a[0,0] # the res
for
循环,但它没有像我预期的那样工作
情况是这样的:
>>> a
array([[1, 2],
[3, 4]])
>>> c
array([[0, 0],
[0, 1]])
>>> a[c[0]]
array([[1, 2],
[1, 2]])
>>> a[0,0] # the result I want
1
上面是我实际代码的简化版本,其中
c
数组要大得多,因此我必须使用for
循环来获取每个索引。将其转换为元组
:
>>> a[tuple(c[0])]
1
因为
列表
和数组
索引触发<代码>元组(主要是)基本切片。索引a
,列为c
,将第一列作为行索引,第二列作为列索引:
In [23]: a[c[:,0], c[:,1]]
Out[23]: array([1, 2])
似乎很相关-