我正在尝试格式化我的时间数据,以小时:分钟:秒(例如36:30:30)显示。主要目标是能够汇总时间,以便可以以小时数显示总计。我不希望有总天数。
我的时间数据以字符串开头,格式为“ HH:MM:SS”。对于大熊猫,我使用以下方法将其转换为timedelta值:
df["date column"] = pd.to_timedelta(df["date column"])
[有一个记录是“ 24:00:00”,但是上面的代码行将其记录为“ 1 day”。
是否有办法将这个时间显示为24:00:00?
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