Home > Blockchain >  How to convert datetime index into some decimal number?
How to convert datetime index into some decimal number?

Time:10-23

I have this data frame where data is sorted based on time starting at around 9:15:00. Using df['t_factor'] = df.index.strftime("%H:%M:%S") i converted index into only time values in an extra column. Now in this column, I want to represent this time with some decimal number, like say for 9:15:00 I want this to be converted into 9.25. Any idea how to do it in a single line?

The conversion formula is something like "9 15/60 0/3600", but I don't know how to access H, M, and S separately and write in a single line for the whole column.

Reference image enter image description here

CodePudding user response:

You could do this using the original index rather than the new column, especially since the new column will be text.

df["time_num"] = (
    df["Time"].dt.hour   df["Time"].dt.minute / 60   df["Time"].dt.second / 3600
)

P.S. Are you sure you need to include seconds?

  • Related