Панды вычисляют разницу между датами и получают очень большое количество

#pandas #date

Вопрос:

Итак, у меня есть таблица со столбцом даты (пример ниже).

Дата 1
2020-11-08
2020-12-03
2020-11-21

Я пытаюсь вычислить разницу между столбцом и определенной датой с помощью следующего кода:

 df['diff'] = pd.to_datetime('2020-12-31') - df['DELDATED']
 

Я хотел получить разницу в количестве дней, однако я получил следующее:

разница
454579200000000000
2419200000000000
3456000000000000

Почему я получаю это и как я могу получить то, что я ожидаю?

Ответ №1:

Попробуй Series.dt.days :

 df['diff'] = (pd.to_datetime('2020-12-31') - df['DELDATED']).dt.days
 

Работает так же, как Series.rsub для вычитания с правой стороны, но, на мой взгляд, менее понятно:

 df['diff'] = df['DELDATED'].rsub(pd.to_datetime('2020-12-31')).dt.days