Pandas:使用数据帧索引重新索引面板

2024-03-28 22:15:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个面板,其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)

当我试图重新索引我的面板时,我只得到一个值

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

但是,我知道面板中有与我的数据帧匹配的日期数据:

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

问题:

我需要做什么才能用数据帧的索引正确地重新索引我的面板?你知道吗


Tags: to数据none面板itemsnanbpdtype