#python #pandas #dataframe #datetime #relativedelta
Вопрос:
У меня есть дата, и я хочу вычесть 1 месяц из этой даты. Я использую этот код, но это вычитает 6 месяцев, я не понимаю, почему.
print('the max date : ' , all_data['DT_ANO'].max()) dt_start = all_data['DT_ANO'].max() - relativedelta(month = 1) print('dt_start : ' , dt_start)
Я получаю такой результат :
the max date : 2021-08-16 00:00:00 dt_start : 2021-01-16 00:00:00
вместо :
the max date : 2021-08-16 00:00:00 dt_start : 2021-07-16 00:00:00
Комментарии:
1. Я думаю, что вы должны использовать
datetime.timedelta
, а неdateutil.relativedelta
Ответ №1:
Предположив, что relativedelta является функцией dateutil, затем используйте
relativedelta(months=1)
Если вы используете месяц, год, день, … значение будет абсолютным, если вы используете месяц s, день s, год s, значение будет относительным.