Разница дат: разные результаты в Excel и Python - PullRequest
0 голосов
/ 21 июня 2020

У меня есть pandas dataframe с двумя столбцами дат с отметкой времени (я хочу сохранить отметку времени). Я хочу получить разницу в днях между этими двумя датами, я использовал ниже. Он работает нормально.

mergethetwo['diff_days']=(mergethetwo['todaydate']-mergethetwo['LastLogon']).dt.days

Сомневаюсь, что когда я получил разницу между этими двумя датами в Excel, он дал мне другой номер.

Например, в python разница между

15.05.2020 13:48:00 (LastLogon) и 21.06.2020 12:00:00 AM (сегодня) - 36 .

Однако в Excel с использованием

DATEDIF = (LastLogon, todaydate, «d») 15.05.2020 1:48: 00 PM и 21.06.2020 12:00:00 AM - это 37 дней!

Почему разница? Кому я должен доверять? Поскольку у меня более 30 000 строк, я не могу go через все их подтвердить.

Благодарю за вашу поддержку Спасибо

1 Ответ

1 голос
/ 21 июня 2020

Excel DATEDIF с "D" кажется, считает "начатые" дни ( даты , как сказано в названии функции ...); в то время как timedelta Python дает фактическую дельту во времени - 36,425 дней:

import pandas as pd

td = pd.to_datetime("6/21/2020 12:00:00 AM")-pd.to_datetime("5/15/2020 1:48:00 PM")
# Timedelta('36 days 10:12:00')

td.days
# 36

td.total_seconds() / 86400
# 36.425

Вы получите тот же результат, если сделаете todaydate-LastLogon в Excel без использования какой-либо функции.

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