gpt4 book ai didi

python - Pandas :使用数据框索引重新索引面板

转载 作者:行者123 更新时间:2023-11-28 18:30:06 25 4
gpt4 key购买 nike

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

但是,我知道该面板具有与我的数据框匹配的日期数据:

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

问题:

我需要做什么才能使用我的数据框的索引正确地重新索引我的面板?

最佳答案

重新索引由于时间组件而失败,因此您只能访问 date datetimeIndex 的组成部分

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

关于python - Pandas :使用数据框索引重新索引面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com