【问题标题】:Calculate time difference and display minutes only - Series Error计算时差并仅显示分钟 - 系列错误
【发布时间】:2021-03-06 22:08:29
【问题描述】:

我想计算 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。 有什么想法可以解决这个问题吗?

【问题讨论】:

  • 错误本身是自我解释的。您正在传递系列数据,而是尝试传递单个值

标签: python pandas


【解决方案1】:

而不是使用:-

gt_diff = pd.Timedelta(t_end - t_begin ).seconds / 3600.0 

使用这个:-

gt_diff=(t_end - t_begin).dt.total_seconds()/3600

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2023-01-30
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多