我正在使用python计算以小时为单位的时差。但是,我得到了错误的结果。这是我的代码,我得到了18.4个小时,但答案肯定要多得多!
import pandas as pd
from datetime import timedelta
t1 = pd.to_datetime('2016-12-15 16:39:46')
t2 = pd.to_datetime('2016-12-21 11:03:59')
print(pd.Timedelta(t2 - t1).seconds/3600.0)
答案 0 :(得分:3)
这几天缺席,我想您需要total_seconds()
:
print(pd.Timedelta(t2 - t1).total_seconds()/3600)
timedelta.total_seconds()
返回持续时间中包含的总秒数。 等效于
(td.microseconds + (td.seconds + td.days * 24 * 3600) * 10 **6) / 10 **6
在启用真除法的情况下进行计算。
答案 1 :(得分:1)
有了系列,我认为astype('timedelta64[s]')
可以满足您的需求
pd.Series(t1-t2).astype('timedelta64[s]')/3600
0 -138.403611
dtype: float64