ホームページ  >  記事  >  バックエンド開発  >  NumPy を使用して Python で移動平均を効率的に計算するにはどうすればよいですか?

NumPy を使用して Python で移動平均を効率的に計算するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-16 08:16:03134ブラウズ

How to Efficiently Calculate a Rolling Average in Python with NumPy?

NumPy / SciPy を使用した Python での移動平均の計算

NumPy と SciPy の広範な機能にもかかわらず、移動平均の計算は驚くほど複雑なタスク。この記事では、NumPy の np.cumsum を使用して実装が簡単なソリューションを提供することで、この問題に取り組みます。

NumPy で移動平均を実装する最も簡単な方法

単純な非-加重移動平均、np.cumsum は効率的なものを提供しますソリューション:

def moving_average(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n

パフォーマンスとシンプルさ

このメソッドは、NumPy の最適化された np.cumsum 関数を活用するため、高いパフォーマンスを提供し、特定のケースでは FFT ベースのメソッドを上回ります。さらに、複雑なアルゴリズムに関連する潜在的なエラーを回避し、信頼性を高めます。

NumPy の移動平均機能を除外する根拠

見かけの有用性にもかかわらず、移動平均機能をコアから除外する正当な理由NumPy:

  • 機能よりもシンプルさ: NumPy は、特殊な機能による不必要な肥大化を避け、シンプルでコンパクトなコアを維持するよう努めています。
  • ユーザーの可用性-実装されたソリューション: 上で示したように、NumPy を使用して移動平均を実装します。は簡単なので、ライブラリ内で機能を複製する必要はありません。

以上がNumPy を使用して Python で移動平均を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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