ホームページ >バックエンド開発 >Python チュートリアル >NumPy には移動平均関数が組み込まれていないのはなぜですか?

NumPy には移動平均関数が組み込まれていないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 15:06:01823ブラウズ

Why Is There No Built-in Moving Average Function in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。