移動平均の計算は、Series.rolling(window=5).mean() とすればよいです。
以下サンプル例
データ作成
python
1 import numpy as np
2 import pandas as pd
3
4 data = np . random . choice ( [ - 1. , 1. ] , size = 500 ) . cumsum ( )
5 series = pd . Series ( data )
6 series . plot ( )
移動平均を計算する。
python
1 ma = series . rolling ( window = 5 ) . mean ( ) # 移動平均
2 ma . plot ( )
追記 NaN を含むデータの移動平均について
pandas.DataFrame.rolling
Minimum number of observations in window required to have a value (otherwise result is NA).
For a window that is specified by an offset, min_periods will default to 1. Otherwise, min_periods will default to the size of the window.
デフォルトでは window 内に1つでも NaN があると、その部分の平均は NaN になってしまいます。
min_periods を指定することで、window 内に最低でも min_periods 個の有効な値があれば、平均が計算されるようになります。
python
1 import pandas as pd
2
3 df = pd . read_csv ( 'test.csv' )
4 ma = df [ 'Close' ] . rolling ( window = 3 , min_periods = 1 ) . mean ( ) # 移動平均
5 ma . plot ( )
データはコメント欄にあった株価のデータを使っています。
追記
データは こちら の Download Data をクリックすると、ダウンロードされる CSV ファイルであっていますか?
中身は以下のようです。
csv
1 Date , Open , High , Low , Close , Adj Close , Volume
2 2019-01-07 , 19944.609375 , 20266.220703 , 19920.800781 , 20038.970703 , 20038.970703 , 81500
3 2019-01-08 , 20224.669922 , 20347.919922 , 20106.359375 , 20204.039063 , 20204.039063 , 86400
4 2019-01-09 , 20366.300781 , 20494.349609 , 20331.199219 , 20427.060547 , 20427.060547 , 72800
5 2019-01-10 , 20270.880859 , 20345.919922 , 20101.929688 , 20163.800781 , 20163.800781 , 73700
6 2019-01-11 , 20296.449219 , 20389.890625 , 20294.740234 , 20359.699219 , 20359.699219 , 77700
7 2019-01-14 , null , null , null , null , null , null
8 2019-01-15 , 20264.820313 , 20571.279297 , 20204.429688 , 20555.289063 , 20555.289063 , 78300
9 2019-01-16 , 20575.720703 , 20580.250000 , 20323.320313 , 20442.750000 , 20442.750000 , 69500
10 2019-01-17 , 20544.230469 , 20571.750000 , 20342.460938 , 20402.269531 , 20402.269531 , 63600
11 2019-01-18 , 20472.810547 , 20682.119141 , 20454.130859 , 20666.070313 , 20666.070313 , 64700
12 2019-01-21 , 20848.380859 , 20892.679688 , 20678.259766 , 20719.330078 , 20719.330078 , 61200
13 2019-01-22 , 20770.060547 , 20805.929688 , 20558.300781 , 20622.910156 , 20622.910156 , 57100
14 2019-01-23 , 20453.439453 , 20686.289063 , 20438.220703 , 20593.720703 , 20593.720703 , 0
15 2019-01-24 , 20506.240234 , 20620.720703 , 20467.589844 , 20574.630859 , 20574.630859 , 61400
16 2019-01-25 , 20598.640625 , 20844.310547 , 20598.640625 , 20773.560547 , 20773.560547 , 68400
17 2019-01-28 , 20746.289063 , 20759.480469 , 20624.550781 , 20649.000000 , 20649.000000 , 56800
18 2019-01-29 , 20555.439453 , 20673.660156 , 20406.220703 , 20664.640625 , 20664.640625 , 63100
19 2019-01-30 , 20701.619141 , 20706.269531 , 20527.529297 , 20556.539063 , 20556.539063 , 72100
20 2019-01-31 , 20832.910156 , 20869.419922 , 20682.910156 , 20773.490234 , 20773.490234 , 75700
21 2019-02-01 , 20797.029297 , 20929.630859 , 20741.980469 , 20788.390625 , 20788.390625 , 82200
22 2019-02-04 , 20831.900391 , 20922.580078 , 20823.679688 , 20883.769531 , 20883.769531 , 66600
23 2019-02-05 , 20960.470703 , 20981.230469 , 20823.179688 , 20844.449219 , 20844.449219 , 65500
24 2019-02-06 , 20928.869141 , 20971.660156 , 20860.990234 , 20873.599609 , 20873.599609 , 0
これに対して、
python
1 import pandas as pd
2
3 df = pd . read_csv ( 'test.csv' )
4 ma = df [ 'Close' ] . rolling ( window = 3 , min_periods = 1 ) . mean ( ) # 移動平均
5 ma . plot ( )
で動作確認していますが、質問者さんの環境ではエラーが出るということですか?