ホームページ >バックエンド開発 >Python チュートリアル >NumPy には移動平均関数が組み込まれていないのはなぜですか?
Python と NumPy/SciPy を使用して移動平均にアプローチする
データ分析では移動平均が普及しているにもかかわらず、NumPy または SciPy での移動平均の実装は困難を伴います。専用の機能がないため、課題であることが判明しました。これにより、複雑な解決策が生じ、この省略の理由について疑問が生じました。
NumPy による簡略化された実装
基本的な加重なし移動平均の場合、単純な実装です。 NumPy の np.cumsum 関数を使用することが実行可能なオプションとして浮上します。このアプローチは、効率の点で FFT ベースの手法をも上回ります。
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
この関数は、指定されたウィンドウ サイズの移動平均をスムーズに計算します。
疑問は残ります: なぜビルドされないのか
実装の容易さを考慮すると、組み込みの移動機能は存在しません。 NumPy の Average 関数は眉をひそめるかもしれません。ただし、答えは、NumPy が特殊な機能を外部ライブラリに任せながら、コアの数値演算を提供することに重点を置いていることにあります。これにより、NumPy は無駄がなく効率的であり、特定の分析ニーズに対応するためによりカスタマイズされたパッケージの余地が残されます。
以上がNumPy には移動平均関数が組み込まれていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。