用于数组索引的Numba列表参数

问题描述 投票:0回答:1

[我正在寻求利用numba来迭代大型2d数组,在该数组中,对于迭代,该数组的子集将通过[x,y]位置(作为参数传递)进行选择。我在构造这种与numba完美搭配的正确方法时遇到了麻烦,特别是在将列表列表作为参数传递给方法时。有指针吗?

x_y_list = [[1, 2], [3, 4], [5, 6]]
array = ([[1, 2, 3, 4, 5, 6],
          [1, 2, 3, 4, 5, 6],
          [1, 2, 3, 4, 5, 6]])

@jit
def arrIndexing(array, x_y_list):
    for index in x_y_list:
        subset = array[index[0]-1:index[0]+1, index[1]-1:index[1]+1]
        # do some other stuff
python jit numba
1个回答
0
投票

这样的东西?应该可以很好地与Numba搭配使用,但我尚未进行测试(是否在不支持Numba的手机上进行了此测试)

import numpy as np

def xy():
    x_y_list = np.array([[1, 2], [2, 4], [0, 5]])
    array = np.array([[1, 2, 3, 4, 5, 6],[1, 2, 3, 4, 5, 6],[1, 2, 3, 4, 5, 6]])
    for i,j in x_y_list:
        print(array[np.ix_((i-1, i), (j-1, j))])


>>> xy()
[[2 3]
 [2 3]]
[[4 5]
 [4 5]]
[[5 6]
 [5 6]]
© www.soinside.com 2019 - 2024. All rights reserved.