当使用Python的时间戳和时,我得到了一个令人困惑的结果
my_timestamp
Timestamp('2015-06-01 00:00:00')
my_timestamp+relativelta(月=+4)
Timestamp('2015-04-01 00:00:00')
我自然期望输出到Timestamp('2015-10-01 00:00:00')
在日期中添加"月"的正确方法是什么?
[编辑]:我已经通过使用以下方法解决了这个问题(以防Pandas中的任何人都有同样的问题):
打印my_timestamp
打印my_timestamp+DateOffset(月份=4)
2015-06-01 00:00:00
2015-10-01 00:00:00
问题是您使用了错误的关键字参数。您需要months
而不是month
。
根据文档,month
表示绝对信息(而不是相对信息),并简单地替换给定的信息,正如您所注意到的。使用months
表示相对信息,并按预期执行计算:
Timestamp('2015-06-01 00:00:00') + relativedelta(months=4)
2015-10-01 00:00:00