(重新)创建“数字总和带numba(支持“轴”沿其减少)

2024-10-04 11:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想重新创建一个类似^{}的函数。我不打算重新创建^{}而是一个具有相同原则的类似函数:迭代这些项并对每个项执行某些操作,然后返回结果。在

我怎样才能使一个理解numpy函数的“沿轴reducex”行为的numba函数呢。在

假设基本函数如下(取自the numba source code):

def numba_sum(arr):
    s = 0.
    for val in np.nditer(arr):
        s += val.item()
    return s

如果我^{}那么这很好,但是它不支持任何axis-参数。在

^{}也不是更好,它提供了.reduce(axis=x),但前提是函数是二进制的(接受两个参数),而上面的一个不是,即使这样它也只支持一个标量轴。在

^{}可能有帮助,但我需要在创建函数时显式定义要沿哪个轴(如果有)来减少函数。在

简而言之,我如何使函数numba_sum^{}一样工作,也就是说,它应该支持:

  • axis=None
  • axis=xx整数)和
  • axis=(x,y)

nopython=True模式下?在


Tags: the函数numpysourcefor参数defcode