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