1

I have below datetime columns, I am trying to subtract but am getting negative value, how can I just retrieve the absolute difference in minutes?

 start_time   |   end_time  | current_output
   23:19:29       00:00:02     -1399.450000


df['current_output'] = (pd.to_datetime(df.end_time) - pd.to_datetime(df.start_time))/np.timedelta64(1, 'm')



 start_time   |   end_time  | desired_output
       23:19:29       00:00:02     40.33

Thank you!

Chris90
  • 1,868
  • 5
  • 20
  • 42

1 Answers1

1

There's probably a better approach, but if the time-delta is negative you can add 1440 (number of minutes in 24 hours)

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'start_time':['23:19:29','12:20:00','12:00:00'],
    'end_time':['00:00:02','14:20:00','11:59:00'],
})

minutes_diff = (pd.to_datetime(df.end_time) - pd.to_datetime(df.start_time))/np.timedelta64(1, 'm')

minutes_diff[minutes_diff < 0] += 1440
    
df['diff'] = minutes_diff
df

Output:

enter image description here

mitoRibo
  • 4,468
  • 1
  • 13
  • 22