我有一個數據框與股票價格。以下,但本例中正好爲4500行股價獲取iteritems中的所有列循環熊貓
>>
DATE MMM US Equity AIR US Equity
1/3/2000 47.19 17.56
1/4/2000 45.31 17.63
1/5/2000 46.63 17.81
1/6/2000 50.38 17.94
我創建了移動使用平均iteritems與後續
>>>for stockname, stock in df.iteritems():
# Create 10,30,50,100 and 200D MAvgs
MA10D = stock.rolling(10).mean()
MA30D = stock.rolling(30).mean()
MA50D = stock.rolling(50).mean()
MA100D = stock.rolling(100).mean()
MA200D = stock.rolling(200).mean()
df_stockname = pd.concat([df[[1]],MA10D,MA30D,MA50D,MA100D,MA200D],axis=1)
問題是,這隻能說明在循環的最後一個項目( AIR US Equity股票)。我如何獲得MA10D,MA30D等等的迴路中的第一隻股票(即MMM美國股票是df中的第一隻股票)。我該如何做到這一點
我最終希望能夠創建兩個數據幀,每個股票與股票價格,MA10D,MA30D,MA50D,MA100D和MA200D一個。所以我最終需要一種方法來命名每個數據幀並更改concat中的df [[#]]。
爲什麼你需要iteritems這個?您可以直接應用滾動平均值。 –
我剛剛使用了另一個在stackoverflow上提供的答案。如果你有更好的方法,那麼很高興應用它。最初這個人建議這將是一個好方法,因爲最終我的數據幀將會非常大(10,000列),響應者說這種方式使用更少的內存。我試圖找到如何獲得單個項目,這樣我可以將每個單獨的股票的所有信息組合在一起,因此需要到iteritems循環內的個人股票列 –