Is there a way to display time data in Pandas in hours above 24 hours?

Greg Martinez :

I am trying to format my time data to be displayed in hours:minutes:seconds (e.g. 36:30:30). The main goal is to be able to aggregate the times so that totals can be displayed in number of hours. I do not want to have totals in number of days.

My time data start as strings, in the format "HH:MM:SS". With pandas, I convert these to timedelta values using:

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

There is one record that is "24:00:00", but the above line of code gives that as "1 day".

Is there a way to display this time as 24:00:00?

Datanovice :

IIUC, we can use np.timedelta64 to change your timedelta object into a numerical representation of it self.

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

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=10133&siteId=1