我有两个数据帧df由日期时间索引,df2有列日期(系列)。
在重新取样之前,我可以运行:
>>>> df[df2['Date'][0]]
并获取与日期df2 ['日期'] [0]相对应的所有行,在此示例中为2013-08-07。但是,在白天重新采样之后,我再也无法获得与该日相对应的行:
>>>> df.resample('D', how=np.max)[df2['Date'][0]]
KeyError: u'no item named 2013-08-07'
虽然那一天在数据集中
>>>> df.resample('D', how=np.max).head()
| Temp | etc
Date | |
---------------------------
2013-08-07 | 26.1 |
---------------------------
2013-08-08 | 28.2 |
---------------------------
etc
答案 0 :(得分:0)
我不确定它是否是一个错误,或者它的设计是这样的,或者,如果后者是真的,为什么。但是你可以这样做以获得理想的结果:
In [168]:
df1=pd.DataFrame(np.random.random(100), columns=['Temp'])
df1.index=pd.date_range('2013-08-07',periods=100,freq='5H')
df1.index.name='Date'
In [169]:
df2=pd.DataFrame(pd.date_range('2013-08-07',periods=23, freq='D'), columns=['Date'])
In [170]:
#You can do this
df3=df1.resample('D', how=np.max)
print df3[df3.index==df2['Date'][0]]
Temp
Date
2013-08-07 0.8128
[1 rows x 1 columns]
In [171]:
df3[df2['Date'][0]]
#Error