1. ホーム
  2. パイソン

[解決済み】移動平均と移動平均

2022-04-05 18:54:15

質問

特定のウィンドウで1次元配列の移動平均を計算するPythonのSciPy関数、NumPy関数、モジュールはありますか?

どのように解決するのですか?

依存関係がなく、1つのループですべてを行う、短くて速い解決策としては、以下のコードが効果的です。

mylist = [1, 2, 3, 4, 5, 6, 7]
N = 3
cumsum, moving_aves = [0], []

for i, x in enumerate(mylist, 1):
    cumsum.append(cumsum[i-1] + x)
    if i>=N:
        moving_ave = (cumsum[i] - cumsum[i-N])/N
        #can do stuff with moving_ave here
        moving_aves.append(moving_ave)