2013-11-27 17 views
6

rolling_mean関数のウィンドウをカスタマイズする方法はありますか?パンダでカスタマイズしたウィンドウでローリング平均

data 
1 
2 
3 
4 
5 
6 
7 
8 

ことが観察含めobervation前と後の2個のデータポイントの平均値を計算することである、のは、窓が2に設定されているとしましょう。第3の観察を言う。この場合、(1+2+3+4+5)/5 = 3になります。そういうわけで。

答えて

17

前方(または後方)ウィンドウで通常のローリング平均を計算してから、shiftメソッドを使用して希望どおりに再センタリングします。

data_mean = pd.rolling_mean(data, window=5).shift(-2) 

あなたは(5つのデータポイントの合計)の観察の前と後のオーバー2のデータポイントを平均化したい場合は、window=5を作ります。 kadee points outとして

例えば、

import pandas as pd 

data = pd.Series(range(1, 9)) 

data_mean = pd.rolling_mean(data, window=5).shift(-2) 
print(data_mean) 

利回り

0 NaN 
1 NaN 
2  3 
3  4 
4  5 
5  6 
6 NaN 
7 NaN 
dtype: float64 

あなたはローリング平均を中央したい場合は、その後、答えを

pd.rolling_mean(data, window=5, center=True) 
+0

感謝を使用しています。私は私の例をよく説明していないかもしれません。私の例を更新しましょう。 – zsljulius

+2

再センターするには、次のようにすることもできます。data_mean = pd.rolling_mean(data、window = 5、center = True) – kadee

+0

@kadee:改善をありがとう。 – unutbu