我正在尝试将日期减为1个月。我的意思是在1个月前获得相同的日期。
import pandas as pd
import numpy as np
pd.to_datetime(201905, format='%Y%m') - np.timedelta64(1, 'M')
我希望像上个月的第一天一样
Timestamp('2019-04-01 00:00:00')
但是输出是
Timestamp('2019-03-31 13:30:54')
当我尝试增加一个月时,问题似乎是相同的。
代码
pd.to_datetime(201905, format='%Y%m') + np.timedelta64(1, 'M')
返回
Timestamp('2019-05-31 10:29:06')
而不是
Timestamp('2019-06-01 00:00:00')
我该如何解决这个问题?
我的最终目标是采用YYYYmm整数格式(例如201905),然后加上(或减去)任意数量的月数,并以相同的格式(整数YYYYmm)返回新日期。也许可以使用其他软件包轻松完成?
一个月的时间增量是一年的长度除以12,所以它是'average'
个月单位:
a = pd.to_datetime(201905, format='%Y%m') - np.timedelta64(1, 'M')
print (a)
2019-03-31 13:30:54
如果要减去1个月,请使用offsets.DateOffset
:
offsets.DateOffset