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
问:
我需要什么,以便正确地重新索引我与我的数据帧的指数面板呢?
不,如果你只是通过之日起它的工作? 'pnl2 = pnl.reindex(df.index.date)' – EdChum
@EdChum为什么是这样!谢谢!如果你想做出答案,我会很乐意接受它 –