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())