Python を使用した移動平均の実装
NumPy または SciPy には移動平均を計算するための専用関数がありませんが、簡単で簡単な関数があります。 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
このコードは、配列 a とウィンドウ サイズ n を使用して移動平均を計算します。 np.cumsum を使用して配列の累積合計を計算し、移動ウィンドウに合わせて前の n 要素の合計を減算します。次に、結果の配列を n で除算して平均を取得します。
たとえば、次のコードは配列の移動平均を計算します。
a = np.arange(20) moving_average(a) # array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., # 12., 13., 14., 15., 16., 17., 18.])
移動平均を実装することは注目に値します。 NumPy では比較的簡単であり、そのような機能をライブラリに含める必要はないかもしれません。それは、ライブラリの肥大化につながり、ライブラリのコア機能への焦点が薄れる可能性があるためです。
以上が専用関数を使わずにPythonで移動平均を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。