pandas有一個Panel數據結構,可以看做為三維版的DataFrame。
import pandas_datareader as web
import pandas as pd
from pandas import Series,DataFrame
pdata = pd.Panel(dict((stk, web.get_data_yahoo(stk, '1/1/2019', '6/1/2019')) for stk in ['AAPL', 'GOOG', 'MSFT','DELL']))
print(pdata)
基於ix的標簽索引被推廣到了三個維度,因此我們可以選取指定日期和日期范圍的所有數據。
print(pdata.ix[:,'5/1/2019',:])
另一個用於呈現面板數據的辦法是堆積式的DataFrame形式。
print(pdata.ix[:,'5/30/2012':,:].to_frame())
DataFrame有一個to_panel方法,他是to_frame的逆運算。
stacked = pdata.ix[:,'5/30/2012':,:].to_frame()
print(stacked.to_panel())