Добавление x дней к сегодняшней дате, где x слишком велико для преобразования

#python #pandas #datetime

#python #панды #дата и время

Вопрос:

Мне не удалось найти обходной путь, так что, надеюсь, об этом раньше не спрашивали.

Я пытаюсь узнать, какая дата будет через x дней с сегодняшнего дня, однако я столкнулся с проблемой, из-за которой мое значение x слишком велико: OverflowError: int too big to convert

Я попробовал два приведенных ниже метода, и оба имеют одну и ту же проблему, кто-нибудь знает хороший обходной путь?

 pd.to_datetime('today')   datetime.timedelta(days=137200)
pd.to_datetime('today')   pd.Timedelta(137200, unit='D')
 

Комментарии:

1. См. pd. Timestamp.min и pd. Timestamp.max, чтобы увидеть, каковы ограничения. В основном наносекунды, которые вы можете хранить около 1970 года в подписанном 64-битном int.

Ответ №1:

Если возможна работа с днями, используйте Timestamp.to_period для преобразования даты и времени в Period , чтобы затем добавить только количество дней:

 d = pd.to_datetime('today').to_period('d')   137200
print (d)
2396-12-04
 

 d = pd.to_datetime('today').to_period('d')   1372000
print (d)
5777-09-10