2016-07-05 53 views
2

我明白numba支持许多numpy的功能nopython模式:http://numba.pydata.org/numba-doc/dev/reference/numpysupported.htmlpython numba:如何从numpy数组中切出一列?

然而,有一个方法切片从nopython模式numpy的阵列的列或行的?

喜欢的东西

x= y[:,mycol] 
x=y[myrow,:] 

不nopython模式下工作。我发现的唯一解决方法是将数组切片到numba外部,并将'切片'传递给我的numba函数,但这并不总是可行或简单。

谢谢!

回答

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 
+0

我正在使用0.20.0。我现在不想升级,因为我不能冒着发现与以前版本不兼容的风险,就像过去一样。我会尽快升级。谢谢! –

+0

PS我假设你不知道使用0.20版本的方法,对不对? –

+0

我只用0.20测试了相同的代码,它在我的机器上工作 – JoshAdel