可以使用序列元组索引numpy数组,使tpl[0]
是 x 坐标的序列,tple[1]
是 y的序列坐标。一个人只需要使用元组索引数组,因此:other_array[tpl]
。
我目前有坐标存储在2D数组中,因此向量ar[0]
对应于我的 x 值,而ar[1]
对应于我的 y 值。
现在,我正在通过创建元组other_array
来索引other_array((ar[0], ar[1]))
。不幸的是,这个操作是在一个紧密的循环中运行,所以我可以挤出的任何性能都是非常有益的。如果执行10 ^ 8次,创建元组可能会增加一些开销!使用 xy 坐标这样的矩阵是否有更快,更简洁的索引方法?
非常感谢!
答案 0 :(得分: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])
如果这不能回答您的问题,您是否可以在问题中加入一个简单的工作示例,说明您目前正在做什么?