有没有一种方法可以仅使用Numba支持的方法来替换NumPy的insert方法?

时间:2020-07-11 05:14:42

标签: python python-3.x numpy numpy-ndarray numba

我需要用Numba编译一小段Python代码。不幸的是,它包含以下行:

result= np.insert(result, pos_to_modify, add_data, 0)

它将add_data插入到结果数组中的pos_to_modify位置。但是Numba不支持此功能,因此编译失败。

我一直在研究可以使用的受支持方法(https://numba.pydata.org/numba-doc/dev/reference/numpysupported.html),但似乎找不到等效的方法。我是NumPy的新手。

是否有一种仅使用该页面中的方法来完成此操作的快速方法?

我想到了这个

def insert_into_array(array, pos, array_to_insert):
    if pos == 0:
        return np.concatenate((array_to_insert, array))
    elif pos == len(array):
        return np.concatenate((array, array_to_insert))
    else:
        start = array[0:pos]
        end = array[pos:len(array)]
        return np.concatenate(np.concatenate((start, array_to_insert)), end)

但是由于这是要在GPU上运行,因此我想避免这种if / else语句。

0 个答案:

没有答案