Python/Numpy屏蔽数组非常

2024-06-26 10:34:19 发布

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

我能做些什么来加速在纽比的掩蔽阵列吗?我有一个非常低效的函数,我重新编写来使用屏蔽数组(在这里我可以屏蔽行,而不是像现在这样复制和删除行)。然而,我震惊地发现屏蔽函数的速度慢了10倍,因为屏蔽数组的速度慢了很多。

举个例子,如下(蒙面对我来说要慢6倍以上):

import timeit
import numpy as np
import numpy.ma as ma

def test(row):
   return row[0] + row[1]

a = np.arange(1000).reshape(500, 2)
t = timeit.Timer('np.apply_along_axis(test, 1, a)','from __main__ import test, a, np')
print round(t.timeit(100), 6)

b = ma.array(a)
t = timeit.Timer('ma.apply_along_axis(test, 1, b)','from __main__ import test, b, ma')
print round(t.timeit(100), 6)

Tags: 函数testimportnumpyasnp数组row