2017-05-17 11 views
0

私は価格のデータフレーム、移動平均、今は2つの移動平均が交差するときにハイライトする列 'maX'を作成しました。データフレーム内の新しい列を反復処理できないのはなぜですか?

   OPEN HIGH LOW LAST  ma5  ma8 ma21 maX 
Date                
11/23/2009 88.84 89.19 88.58 88.97  NaN  NaN NaN 0.0 
11/24/2009 88.97 89.07 88.36 88.50  NaN  NaN NaN 0.0 
11/25/2009 88.50 88.63 87.22 87.35  NaN  NaN NaN 0.0 
11/26/2009 87.35 87.48 86.30 86.59  NaN  NaN NaN 0.0 
11/27/2009 86.59 87.02 84.83 86.53 87.588  NaN NaN 0.0 
11/30/2009 87.17 87.17 85.87 86.41 87.076  NaN NaN 0.0 
12/1/2009 86.41 87.53 86.17 86.68 86.712  NaN NaN 0.0 
12/2/2009 86.68 87.49 86.59 87.39 86.720 87.302 NaN 0.0 
12/3/2009 87.39 88.48 87.32 88.26 87.054 87.214 NaN 0.0 
12/4/2009 88.26 90.77 88.00 90.56 87.860 87.471 NaN 0.0 

なぜ私は新しい列を繰り返し処理できませんか?私のコード。

私のコードはなぜ[購入]の[0,0]を返すだけで、1850浮動小数点のリストではありません。

なぜ「Enter」が返されますか?

ValueError: Shape of passed values is (1, 2), indices imply (1, 1850) ??? 

事前に感謝します。

答えて

1

パンダでfor-loopsを使用しないでください。代わりに、それを約千倍高速になりますベクトル化の方法、実行します。とにかくそのような

import numpy as np 
Buy = np.where(maX == 1, 1, 0) 

何かを - あなたはnp.where()状態を微調整する必要があるかもしれません。

関連する問題