熊猫中两个日期列的差异

我试图弄清脚本下面的两个日期列与脚本中使用的数据之间的区别,但是我对所有三行都得到相同的结果

df = pd.read_csv(r'Book1.csv',encoding='cp1252')
df
Out[36]: 
              Start              End  DifferenceinDays  DifferenceinHrs
0  10/26/2013 12:43  12/15/2014 0:04               409             9816
1    2/3/2014 12:43   3/25/2015 0:04               412             9888
2   5/14/2014 12:43    7/3/2015 0:04               409             9816

我期望结果像在Excel中计算的DivininDays列中一样,但是在python中,所有三行的值都相同,请参考下面使用的代码,有人可以让我知道如何计算2日期列之间的差额吗,我正在尝试获取两个日期列之间的小时数。

df["Start"] = pd.to_datetime(df['Start'])
df["End"] = pd.to_datetime(df['End'])

df['hrs']=(df.End-df.Start)
df['hrs']
Out[38]: 
0   414 days 11:21:00
1   414 days 11:21:00
2   414 days 11:21:00
Name: hrs, dtype: timedelta64[ns]
评论
  • 说不出口的爱
    说不出口的爱 回复

    IIUC, np.timedelta64(1,'h')

    此外,似乎excel计算小时数的方式有所不同,不确定原因。

    import numpy as np
    df['hrs'] = (df['End'] - df['Start']) / np.timedelta64(1,'h')
    
    print(df)
    
                    Start                 End  DifferenceinHrs      hrs
    0 2013-10-26 12:43:00 2014-12-15 00:04:00             9816  9947.35
    1 2014-02-03 12:43:00 2015-03-25 00:04:00             9888  9947.35
    2 2014-05-14 12:43:00 2015-07-03 00:04:00             9816  9947.35