2

を使用して、一部のコードをより高速に実行しようとしていますpypy。ただし、 を使用してコードを実行するたびに、の同等の ( )pypyからエラーが発生します。pypynumpynumpypy

私の通常のコードでは...

numpy.average(array, axis=0)

特定の軸に沿って配列を平均化するため。

pypy と numpypy を使用して同じコードを実行すると、次のエラーが発生します。

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

ループを使用しforて配列を通過し、個々の要素を平均化することもできますが、これには時間がかかり、(私が想像するに) 希望する速度が得られません。

numpypy を使用しているときに軸に沿って平均化できる numpy.average() の代替手段はありますか?

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 に答える