2016-07-25 119 views
0

使用Python的时间戳和意外行为

my_timestamp当我得到一个令人困惑的结果

Timestamp('2015-06-01 00:00:00')

my_timestamp + relativedelta(月= +4)

Timestamp('2015-04-01 00:00:00')

当然,我预计输出Timestamp('2015-10-01 00:00:00')

什么是“几个月”添加到日期的正确方法是什么?


[编辑]:因为我已经使用解决了这个以下(在大熊猫万一有人有同样的问题):

打印my_timestamp
打印my_timestamp + DateOffset(月= 4)

2015-06-01 00:00:00
2015-10-01 00:00:00

回答

2

问题是您使用了错误的关键字参数。您需要months而不是month

the documentation, month表示绝对信息(不相对),并简单地替换给定的信息,因为你注意到。使用months表示相关信息,并按照您的预期执行计算:

Timestamp('2015-06-01 00:00:00') + relativedelta(months=4) 

2015-10-01 00:00:00