2016-05-26 11 views
0

前の2つの値の平均を計算する新しいDataFrame列を追加する計算をしようとしています。希望の結果がここにあります:データフレーム計算(パンダ)の前の行の参照

Input Prev. 2 Avg 
0 2  NaN 
1 2  NaN 
2 3  2.0 
3 3  2.5 
4 4  3.0 
5 4  3.5 

残念ながら計算の前の行を参照する方法がわかりません。

df["Input1"] = df["Input"].shift(1) 

df["Input2"] = df["Input"].shift(2) 

df["Prev. 2 Avg"] = (df["Input1"] + df["Input2"])/2 

これは単なる不格好とぎこちない感じ、プラス私は(二つの新しいを作成しています:私は2つの追加の列を追加する場合、それはその後、私は全体の計算を行うことができます他の2をシフトし、入力された1が1をシフトし、作品不要な)列。

提案がありますか?

ありがとうございました!

答えて

4

試してみてください。

df['Prev. 2 Avg'] = df.Input.rolling(2).mean().shift() 
関連する問題