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

时间:2012-11-17 21:02:18

标签: python numpy pypy

我正在尝试使用pypy让代码运行得更快。但是,每当我使用pypy运行代码时,我都会从pypy的{​​{1}}等效(numpy)收到错误。

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

numpypy

以沿特定轴平均阵列。

当使用pypy和numpypy运行相同的代码时,我收到以下错误:

numpy.average(array, axis=0)

我可以使用TypeError: average() got an unexpected keyword argument 'axis' 循环来遍历数组并对单个元素求平均值,但这需要很长时间(我想象)不能提供我想要的速度。

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

1 个答案:

答案 0 :(得分: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.])