I have a data frame as shown below
Doctor Start B_ID Session Finish
A 2020-01-18 12:00:00 1 S1 2020-01-18 12:33:00
A 2020-01-18 12:30:00 2 S1 2020-01-18 12:52:00
A 2020-01-18 13:00:00 3 S1 2020-01-18 13:23:00
A 2020-01-18 13:00:00 4 S1 2020-01-18 13:37:00
A 2020-01-18 13:30:00 5 S1 2020-01-18 13:56:00
A 2020-01-18 14:00:00 6 S1 2020-01-18 14:15:00
A 2020-01-18 14:00:00 7 S1 2020-01-18 14:28:00
A 2020-01-18 14:00:00 8 S1 2020-01-18 14:40:00
A 2020-01-18 14:00:00 9 S1 2020-01-18 15:01:00
A 2020-01-19 12:00:00 12 S2 2020-01-19 12:20:00
A 2020-01-19 12:30:00 13 S2 2020-01-19 12:40:00
A 2020-01-19 13:00:00 14 S2 2020-01-19 13:20:00
A 2020-01-19 13:30:00 15 S2 2020-01-19 13:40:00
A 2020-01-19 14:00:00 16 S2 2020-01-19 14:10:00
A 2020-01-19 14:00:00 17 S2 2020-01-19 14:20:00
A 2020-01-19 14:00:00 19 S2 2020-01-19 14:40:00
From the above data frame I would like to create a column called "Actual_start_time" based on the previous finish and current Start time for the same session.
Steps
if previous finish > current start:
df['Actual_start'] = df['previous finish']
else:
df['Actual_start'] = df['Start']
Expected output:
Doctor Start B_ID Session Finish Actual_start
A 2020-01-18 12:00:00 1 S1 2020-01-18 12:33:00 2020-01-18 12:00:00
A 2020-01-18 12:30:00 2 S1 2020-01-18 12:52:00 2020-01-18 12:33:00
A 2020-01-18 13:00:00 3 S1 2020-01-18 13:23:00 2020-01-18 13:00:00
A 2020-01-18 13:00:00 4 S1 2020-01-18 13:37:00 2020-01-18 13:23:00
A 2020-01-18 13:30:00 5 S1 2020-01-18 13:56:00 2020-01-18 13:37:00
A 2020-01-18 14:00:00 6 S1 2020-01-18 14:15:00 2020-01-18 14:00:00
A 2020-01-18 14:00:00 7 S1 2020-01-18 14:28:00 2020-01-18 14:15:00
A 2020-01-18 14:00:00 8 S1 2020-01-18 14:40:00 2020-01-18 14:28:00
A 2020-01-18 14:00:00 9 S1 2020-01-18 15:01:00 2020-01-18 14:40:00
A 2020-01-19 12:00:00 12 S2 2020-01-19 12:20:00 2020-01-19 12:00:00
A 2020-01-19 12:30:00 13 S2 2020-01-19 12:40:00 2020-01-19 12:30:00
A 2020-01-19 13:00:00 14 S2 2020-01-19 13:20:00 2020-01-19 13:00:00
A 2020-01-19 13:30:00 15 S2 2020-01-19 13:40:00 2020-01-19 13:30:00
A 2020-01-19 14:00:00 16 S2 2020-01-19 14:10:00 2020-01-19 14:00:00
A 2020-01-19 14:00:00 17 S2 2020-01-19 14:20:00 2020-01-19 14:10:00
A 2020-01-19 14:00:00 19 S2 2020-01-19 14:40:00 2020-01-19 14:20:00