2016-07-01 93 views
3

我有一个面板,Items索引为天。熊猫:数据框索引的重新索引面板

<class 'pandas.core.panel.Panel'> 
Dimensions: 1260 (items) x 6 (major_axis) x 6 (minor_axis) 
Items axis: 2011-06-27 00:00:00 to 2016-06-28 00:00:00 
Major_axis axis: BP to XOM 
Minor_axis axis: BP to XOM 

指数:

DatetimeIndex(['2011-06-27', '2011-06-28', '2011-06-29', '2011-06-30', 
       '2011-07-01', '2011-07-05', '2011-07-06', '2011-07-07', 
       '2011-07-08', '2011-07-11', 
       ... 
       '2016-06-15', '2016-06-16', '2016-06-17', '2016-06-20', 
       '2016-06-21', '2016-06-22', '2016-06-23', '2016-06-24', 
       '2016-06-27', '2016-06-28'], 
       dtype='datetime64[ns]', name=u'Date', length=1260, freq=None, tz=None) 

我有次在毫秒级的索引中的数据框:

DatetimeIndex(['2016-05-18 09:30:00.200000', '2016-05-18 09:30:00.400000', 
       '2016-05-18 09:30:00.600000', '2016-05-18 09:30:00.800000', 
       '2016-05-18 09:30:01',  '2016-05-18 09:30:01.200000', 
       '2016-05-18 09:30:01.400000', '2016-05-18 09:30:01.600000', 
       '2016-05-18 09:30:01.800000', '2016-05-18 09:30:02', 
       ... 
       '2016-05-20 15:59:58.200000', '2016-05-20 15:59:58.400000', 
       '2016-05-20 15:59:58.600000', '2016-05-20 15:59:58.800000', 
       '2016-05-20 15:59:59',  '2016-05-20 15:59:59.200000', 
       '2016-05-20 15:59:59.400000', '2016-05-20 15:59:59.600000', 
       '2016-05-20 15:59:59.800000', '2016-05-20 16:00:00'], 
       dtype='datetime64[ns]', name=u'time', length=351000, freq='200L', tz=None) 

当我尝试重新索引我的板,我得到的只是NaN值

pnl2 = pnl.reindex(df.index) 

pnl2[0,:,:] 

    BP COP CVX MPC VLO XOM 
BP NaN NaN NaN NaN NaN NaN 
COP NaN NaN NaN NaN NaN NaN 
CVX NaN NaN NaN NaN NaN NaN 
MPC NaN NaN NaN NaN NaN NaN 
VLO NaN NaN NaN NaN NaN NaN 
XOM NaN NaN NaN NaN NaN NaN 

I知道,然而,该小组有数据的日期的匹配我的数据框:

pnl[datetime.datetime(2016, 5, 18),:,:] 


    BP   COP   CVX   MPC   VLO   XOM 
BP 0.085169 -0.020719 -0.027176 -0.001270 -0.004472 -0.025772 
COP -0.020719 0.064905 -0.043904 -0.012531 0.010451 -0.005583 
CVX -0.027176 -0.043904 0.185100 -0.006396 -0.001374 -0.108513 
MPC -0.001270 -0.012531 -0.006396 0.053583 -0.042791 0.012225 
VLO -0.004472 0.010451 -0.001374 -0.042791 0.059244 -0.015029 
XOM -0.025772 -0.005583 -0.108513 0.012225 -0.015029 0.199892 

问:

我需要什么,以便正确地重新索引我与我的数据帧的指数面板呢?

+1

不,如果你只是通过之日起它的工作? 'pnl2 = pnl.reindex(df.index.date)' – EdChum

+0

@EdChum为什么是这样!谢谢!如果你想做出答案,我会很乐意接受它 –

回答

1

的重建索引失败,因为时间组件,因此您可以访问只是你datetimeIndex的date组件

pnl2 = pnl.reindex(df.index.date)