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爲什麼是這樣!謝謝!如果你想做出答案,我會很樂意接受它 –