2

我正在尝试通过使用使一些代码运行得更快pypy。但是,每当我使用 运行代码时,都会从' 的等效项 ( ) 中pypy得到一个错误。pypynumpynumpypy

在我常用的代码中,我使用...

numpy.average(array, axis=0)

为了沿特定轴平均数组。

使用 pypy 和 numpypy 运行相同的代码时,出现以下错误:

TypeError: average() got an unexpected keyword argument 'axis'

我可以使用for循环来遍历数组并平均单个元素,但这需要很长时间并且(我想)不能提供我想要的速度。

是否有替代 numpy.average() 可以在使用 numpypy 时沿轴平均的方法?

4

1 回答 1

4

如果不需要使用weights参数,可以mean改用(1.9.1-dev0 -- 不知道什么时候引入的):

>>>> import numpypy as np
>>>> a = np.arange(2*3).reshape(2,3)
>>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>>> np.mean(a, axis=0)
array([ 1.5,  2.5,  3.5])
>>>> np.mean(a, axis=1)
array([ 1.,  4.])
>>>> a.mean(axis=0)
array([ 1.5,  2.5,  3.5])
>>>> a.mean(axis=1)
array([ 1.,  4.])
于 2012-11-17T21:08:58.227 回答