2013-08-04 67 views
2

從聯交所的歷史數據,擁有一批股票,以及一些特定股票的屬性(開放式,高,低,收盤,成交量),我最終有效地具有3個維在我的數據,即,time stampstock's tickerattributes。對於單隻股票(2D),我想創建一個pd.DataFrame,但我應該怎麼走(高效和一般)關於把這樣的數據對於許多股票成一個單一的對象?是pd.DataFrame多索引最好的解決方案?蟒蛇大熊貓組織多維數據爲對象

+1

我對類似類型的分析,http://pandas.pydata.org/pandas-docs/dev/dsintro.html#panel的面板,你可以從一個面板轉換一個2級與to_panel(雖然通常更容易直接構建) – Jeff

回答

3

我建議你使用一個Panel,例如:

>>> from pandas.io.data import DataReader 
>>> from pandas import Panel, DataFrame 

>>> symbols = ['AAPL', 'GLD', 'SPX', 'MCD'] 
>>> data = dict((symbol, DataReader(symbol, "yahoo", pause=1)) for symbol in symbols) 
>>> panel = Panel(data).swapaxes('items', 'minor') 
>>> closing = panel['Close'].dropna() 
>>> closing.head() 

      AAPL GLD  MCD  SPX 
Date     
2010-01-04 214.01 109.80 62.78 1132.99 
2010-01-05 214.38 109.70 62.30 1136.52 
2010-01-06 210.97 111.51 61.45 1137.14 
2010-01-07 210.58 110.82 61.90 1141.69 
2010-01-08 211.98 111.37 61.84 1144.98 

如果你想看到更多的看一看this例如我爲一療程製成。