我想计算pandas数据框行中两个时间戳的时间差。我尝试了以下操作:
t_end = pd.to_datetime(df["Offblock Dt M"])
t_begin = pd.to_datetime(df["Last_leg_onblock"])
gt_diff = pd.Timedelta(t_end - t_begin ).seconds / 3600.0
df["GT_actual"] = np.where(is_first_leg, 0, gt_diff)
但是我得到了一个值错误,说:
ValueError:取值必须是Timedelta、string、integer、float、Timedelta或可转换,非系列
问题出在第3行timedelta。有什么办法可以解决这个问题吗?
不用:-
gt_diff = pd.Timedelta(t_end - t_begin ).seconds / 3600.0
使用这个:-
gt_diff=(t_end - t_begin).dt.total_seconds()/3600