2

可以使用一个序列元组来索引一个 numpy 数组,例如一个x坐标序列和tpl[0]一个y坐标序列。只需要用元组索引数组,因此: .tple[1]other_array[tpl]

我目前将坐标存储在二维数组中,以便向量ar[0]对应于我的x值并ar[1]对应于我的y值。

现在,我正在other_array通过创建一个元组进行索引: other_array((ar[0], ar[1]))。不幸的是,这个操作是在一个紧密的循环中运行的,所以我可以挤出的任何性能都是非常有益的。如果执行 10^8 次,创建元组会增加一些开销!有没有一种更快的、numpythonic 的索引方式来使用这样的xy坐标矩阵?

非常感谢!

4

1 回答 1

1

您可以使用另一个数组索引 numpy 数组,因此您不必创建元组。例如:

In [199]: other_array
Out[199]: 
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])

In [200]: ar
Out[200]: 
array([[0, 2, 1],
       [1, 3, 0]])

In [201]: other_array[ar[0], ar[1]]
Out[201]: array([ 1, 13,  5])

如果这不能回答您的问题,您能否在问题中包含一个简单的工作示例来显示您当前正在做什么?

于 2013-04-20T02:02:22.630 回答