我试图访问一个多维numpy数组中的值。当您知道所有内容时,这可以很容易地完成,例如:
T = numpy.arrange(9).reshape(3, 3)
T[2, 2]
它会返回8,这正是我想要的。
现在,假设[2, 2]
存储在index
变量中。我该如何使用存储在index
中的索引获取T中的值?
我想做的是T[index]
,但它返回最后一行两次(非常合乎逻辑,但不是我想要的)。
谢谢!
请尝试
ind=tuple(2,2)
x[ind]
x[2,2]
和 x[(2,2)]
是等价的,都可以被转换成方法调用:x.__getitem__((2,2))
。
一些 numpy
函数会将索引构建为列表或数组,然后将其转换为元组以供索引使用。
p=[[x0,y0],[x1,y1], ... ]
格式给出的索引列表,针对2D数组D
,只需使用indx=tuple(np.transpose(p))
即可得到([x0,x1,..],[y0,y1,...])
,并通过D[indx]
访问。 - pas-calc
ind = tuple(2,2); x[ind]
。 - hpaulj