aiox
aiox

Reputation: 13

Finding the elapsed time between two columns

I recently started using pandas and I am trying to teach myself training models. I have a dataset that has end_time and start_time columns and I am currently struggling to find the time elapsed between these columns in the same row in seconds.

This is the code I tried;

[IN]

from datetime import datetime
from datetime import date

st = pd.to_datetime(df['start_time'], format='%Y-%m-%d')
et = pd.to_datetime(df['end_time'], format='%Y-%m-%d')


print((et-st).dt.days)*60*60*24

[OUT]

0        0
1        0
2        0
3        0
4        0
        ..
10000    0
Length: 10001, dtype: int64

I looked up other similar questions and where this one differ is, it's connected to a CSV file. I can easily apply the steps with dummy data from the other question solutions but it doesn't work for my case.

Upvotes: 0

Views: 186

Answers (1)

Ruthger Righart
Ruthger Righart

Reputation: 4921

See the following. I fabricated some data, if you have a data example that produces the error please feel free to put it in the question.

import pandas as pd
from datetime import datetime
from datetime import date

df = pd.DataFrame({'start_time':pd.date_range('2015-01-01 01:00:00', periods=3), 'end_time':pd.date_range('2015-01-02 02:00:00', periods=3, freq='23H')})

st = pd.to_datetime(df['start_time'], format='%Y-%m-%d')
et = pd.to_datetime(df['end_time'], format='%Y-%m-%d')

diff = et-st

df['seconds'] = diff.dt.total_seconds()

Upvotes: 1

Related Questions