Zephyr
Zephyr

Reputation: 1352

Adding Time to date time

How do i add date and time? I have 3 columns as follow:

kickoffDate =['8/6/2017','8/6/2017','8/6/2017'] kickoffTime = ['15:00:00','15:00:00','15:00:00'] time =['51:48:00','86:05:00','10:04']

time in this case is mm:ss:00 format. i want to combine those three column to create a new column so called 'eventdatetime'. what i expect for eventdatetime is eventdatetime = [06-08-2017 15:51:48, 06-08-2017 16:26:05,06-08-2017 15:10:04]. How can i do this? I am able to combine the first two by using following formula:

DateTime1 =data['kickoffDate']+' '+ data ['kickoffTime']

Can anyone advise? Thanks

Upvotes: 2

Views: 106

Answers (1)

zipa
zipa

Reputation: 27889

Per your edit here is what you need to do:

import pandas as pd

kickoffDate =['8/6/2017','8/6/2017','8/6/2017']
kickoffTime = ['15:00:00','15:00:00','15:00:00']
time = ['51:48:00','86:05:00','10:04']

df = pd.DataFrame({'kickoffDate': kickoffDate,
                   'kickoffTime': kickoffTime,
                   'time': time})

df['kickoffDate'] = pd.to_datetime(df['kickoffDate'])
df['kickoffTime'] = pd.to_timedelta(df['kickoffTime'])
df['time'] = df['time'].apply(lambda x: pd.to_timedelta('{} minutes {} seconds'.format(*x.split(':')[:2])))

df['eventdatetime'] = df['kickoffDate'] + df['kickoffTime'] + df['time']

df
#  kickoffDate kickoffTime     time       eventdatetime
#0  2017-08-06    15:00:00 00:51:48 2017-08-06 15:51:48
#1  2017-08-06    15:00:00 01:26:05 2017-08-06 16:26:05
#2  2017-08-06    15:00:00 00:10:04 2017-08-06 15:10:04

Upvotes: 1

Related Questions