datetime
Pandas.Timestamp стремится обрабатывать намного более мелкое временное разрешение вплоть до наносекунды. Эта точность требует достаточного количества выделенных ей 64 битов, чтобы она могла доходить только до 2262 года. Однако datetime.datetime
не имеет этого ограничения и может доходить до года 9999
. Если вы начнете работать с datetime
объектами вместо Timestamp
объектов, вы потеряете некоторые функциональные возможности, но сможете выйти за пределы 2262
.
Кроме того, ваше количество месяцев также превысило максимальное количество дней для Timedelta
Давайте начнем с выбора более разумного числа месяцев, которое будет кратным 48 (четырем годам).
d = pd.Timedelta(48, 'M')
И наша дата
t = pd.Timestamp('2018-01-22')
Мультипликатор, представляющий, сколько раз наши 48 месяцев укладываются в желаемые 3650 месяцев.
m = 3650 / 48
Тогда мы можем использовать to_pydatetime
и to_pytimedelta
t.to_pydatetime() + d.to_pytimedelta() * m
datetime.datetime(2322, 3, 24, 14, 15, 0, 1)