【问题标题】:Is there a way to display time data in Pandas in hours above 24 hours?有没有办法在 Pandas 中显示 24 小时以上的时间数据?
【发布时间】:2020-06-10 18:25:38
【问题描述】:

我正在尝试将我的时间数据格式化为以小时:分钟:秒显示(例如 36:30:30)。主要目标是能够聚合时间,以便以小时数显示总计。我不想有总天数。

我的时间数据以字符串开头,格式为“HH:MM:SS”。对于 pandas,我使用以下方法将这些转换为 timedelta 值:

df["date column"] = pd.to_timedelta(df["date column"])

有一条记录是“24:00:00”,但上面的代码行给出的是“1 天”。

有没有办法将这个时间显示为 24:00:00?

【问题讨论】:

    标签: python pandas datetime timedelta


    【解决方案1】:

    IIUC,我们可以使用np.timedelta64 将您的 timedelta 对象更改为它自身的数字表示。

    import numpy as np
    df = pd.DataFrame({'hours' : ['34:00:00','23:45:22','11:00:11'] })
    
    hours = pd.to_timedelta(df['hours']) / np.timedelta64(1,'h')
    
    
    print(hours)
    
    0    34.000000
    1    23.756111
    2    11.003056
    Name: hours, dtype: float64
    

    【讨论】:

      猜你喜欢
      • 2012-03-14
      • 1970-01-01
      • 2011-03-03
      • 2021-06-20
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 2023-03-07
      相关资源
      最近更新 更多