日期差异:Excel与Python中的结果不同

日期差异:Excel与Python中的结果不同,python,excel,date,datetime,Python,Excel,Date,Datetime,我有一个熊猫数据框,有两个带有时间戳的日期列,我想保留时间戳 我想得到这两个日期之间的天数差,我使用了下面的公式。它很好用 mergethetwo['diff_days']=(mergethetwo['todaydate']-mergethetwo['LastLogon']).dt.days 问题是,当我在Excel中得到这两个日期之间的差异时,它给了我不同的数字 例如,在python中 2020年5月15日下午1:48:00 LastLogon和2020年6月21日上午12:00:00今天的

我有一个熊猫数据框,有两个带有时间戳的日期列,我想保留时间戳 我想得到这两个日期之间的天数差,我使用了下面的公式。它很好用

mergethetwo['diff_days']=(mergethetwo['todaydate']-mergethetwo['LastLogon']).dt.days
问题是,当我在Excel中得到这两个日期之间的差异时,它给了我不同的数字

例如,在python中

2020年5月15日下午1:48:00 LastLogon和2020年6月21日上午12:00:00今天的日期是36

但是,在Excel中使用

DATEDIF=LastLogon,todaydate,d 2020年5月15日下午1:48:00和2020年6月21日上午12:00:00是37天

为什么会有区别?我应该相信哪一个?因为我有30000多行,我不能通过所有的od来确认

感谢您的支持 谢谢

Excel DATEDIF和D似乎可以计算开始日期,正如函数名称所示。。。;虽然Python timedelta给出了实际的时间增量-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

如果您在Excel中执行todaydate LastLogon,而不使用任何函数,您将得到相同的结果。

我找不到DATEDIF应该用于时间的任何引用,仅用于日期。所以我想时间被忽略了。@Joe:这是一个很好的观点!你可以从函数的名称猜出来。。。找不到任何具体的数据,因为它是四舍五入到整天,或者忽略了时间。我注意到上面的Python datatime排除了这两个日期。虽然excel datedif函数包含一个日期,但这就是为什么它总是比python多出一天的原因datatime@Eithar:我认为在Excel和Python中,乍一看并不是完全清楚发生了什么。然而,我更喜欢Python,因为它是关于理解正在发生的事情以及如何使用它的。