python numba:如何从numpy数组中切片?

时间:2016-07-05 17:46:34

标签: python numpy numba

我知道numba在nopython模式下支持许多numpy函数:http://numba.pydata.org/numba-doc/dev/reference/numpysupported.html

但是,有没有办法在nopython模式下从numpy数组中分割列或行?

这样的东西
x= y[:,mycol]
x=y[myrow,:]

不能在nopython模式下工作。我找到的唯一解决方法是将阵列切割到numba之外,然后通过“切片”。我的numba功能,但这并不总是可行或直截了当。

谢谢!

1 个答案:

答案 0 :(得分:2)

你使用的是什么版本的Numba?使用0.26.0,以下工作:

import numpy as np
import numba as nb

@nb.jit(nopython=True)
def func(x, mycol):
    y = x[:,mycol]

    return y

x = np.arange(100).reshape((10,10))
mycol = 2
y = func(x, mycol)

print np.allclose(x[:,mycol], y)  # True