Python 如何正确地向pandas.tseries.index.DatetimeIndex添加小时数?

Python 如何正确地向pandas.tseries.index.DatetimeIndex添加小时数?,python,pandas,indexing,time-series,dataframe,Python,Pandas,Indexing,Time Series,Dataframe,我有一个正常的df.index,我想再加上几个小时 In [1]: test[1].index Out[2]: <class 'pandas.tseries.index.DatetimeIndex'> [2010-03-11, ..., 2014-08-14] Length: 52, Freq: None, Timezone: None 因此,我尝试添加以下时间: In [1]: test[1].index[0] + pd.tseries.timedeltas.to_timede

我有一个正常的df.index,我想再加上几个小时

In [1]: test[1].index
Out[2]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-03-11, ..., 2014-08-14]
Length: 52, Freq: None, Timezone: None
因此,我尝试添加以下时间:

In [1]: test[1].index[0] + pd.tseries.timedeltas.to_timedelta(16, unit='h')
但我得到的是:

Out[2]: Timestamp('2010-03-11 00:00:00.000000016')
Out[2]: Timestamp('2010-03-11 16:00:00')
但我想得到这个:

Out[2]: Timestamp('2010-03-11 00:00:00.000000016')
Out[2]: Timestamp('2010-03-11 16:00:00')
我错过了什么?。环境是Anaconda(最新)Python 2.7.7,iPython 2.2

非常感谢

您可以使用:

pd.DateOffset
接受与相同的关键字参数


您遇到的问题是由以下错误引起的:


如果您升级,您的原始代码应该可以正常工作。

您能简要解释一下我所做的有什么问题吗?没有。我刚刚在Pandas 0.14.1中尝试了你的例子,它的工作原理与你想象的一样。unutbu为您提供了一个解决方案,可以处理较旧版本的熊猫(相当旧,而不是石器时代);我想知道如何减去偏移量:我尝试了以下命令,但没有得到预期的结果:``test[1].index-pd.DateOffset(小时=16)。有什么线索吗?@amonk你有没有试着加一个负偏移量?
In [242]: pd.to_timedelta(16, unit='h')
Out[242]: numpy.timedelta64(16,'ns')