Python Numba:如何从NumPy数组中切片列?

nxowjjhe  于 2023-05-13  发布在  Python
关注(0)|答案(1)|浏览(191)

我知道Numba在nopython模式下支持许多NumPy函数:http://numba.pydata.org/numba-doc/dev/reference/numpysupported.html
但是,有没有一种方法可以在nopython模式下从NumPy数组中切片列或行?
就像

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

在nopython模式下不工作。我发现的唯一解决方法是在Numba之外对数组进行切片,并将“切片”传递给我的Numba函数,但这并不总是可行或直接的。

e37o9pze

e37o9pze1#

您使用的是哪个版本的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

相关问题