Рассчитайте дельту между двумя датами, используя Python и pandas - PullRequest
2 голосов
/ 21 января 2020

Я пытаюсь вычислить разницу между двумя столбцами datetime (dtype = datetime64 [ns]) в pandas. Я могу успешно рассчитать дельту в часах, но я хочу, чтобы результатом были дни.

Пример

foo_df = pd.DataFrame({'date_1': ['2019-08-07 09:25:07'], 
                       'date_2': ['2019-08-08 01:01:00']}).astype('datetime64[ns]')

foo_df['delta'] =  foo_df['date_2'] - foo_df['date_1']

результат

    date_1              date_2              delta
0   2019-08-07 09:25:07 2019-08-08 01:01:00 15:35:53

Желаемый результат

    date_1              date_2              delta
0   2019-08-07 09:25:07 2019-08-08 01:01:00 1

ПРИМЕЧАНИЕ. Дельта должна быть 1, поскольку date_2 - это на следующий день . Мне нужно только рассчитать, если день отличается. Я могу сделать это, если я преобразую столбцы даты в строки, но в идеале я бы хотел этого избежать, поскольку это должно быть возможно сделать с dtype; datetime64 [нс]

1 Ответ

1 голос
/ 21 января 2020

Вычтите даты, затем получите количество дней из Timedelta:

foo_df['delta'] = (foo_df.date_2.dt.date - foo_df.date_1.dt.date).dt.days

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...