2016-07-05 51 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