numpy - 二维数组索引

arm*_*ino 5 python indexing numpy multidimensional-array

根据文档, numpy的默认行为是先按行然后按列索引数组:

a = numpy.arange(6).reshape(3,2)

[[0 1]
 [2 3]
 [4 5]]

print a[0][1] # is 1
Run Code Online (Sandbox Code Playgroud)

我想使用几何定向约定索引数组a[x][y],如x轴和y轴.如何在不修改数组形状的情况下更改索引顺序,以便a[0][1]返回2?

Jon*_*Jon 8

您可以编写a.T[0,1]使用数组转置的索引,这是2D中的另一种方式.

  • `.T`只创建原始数组的视图,因此您不会复制数据.它应该相对较快. (2认同)
  • 不是aT [0,1]会更好,因为它会省略中间数组,避免两次调用__getitem__例程? (2认同)