import pandas as pd
import datetime
df = pd.DataFrame([{'st':datetime.datetime.strptime('21:00:00','%H:%M:%S').time(),'et':datetime.datetime.strptime('22:00:00','%H:%M:%S').time()}, {'st':datetime.datetime.strptime('1:00:00','%H:%M:%S').time(),'et':datetime.datetime.strptime('3:00:00','%H:%M:%S').time()}])
Out[183]: df
et st
0 22:00:00 21:00:00
1 03:00:00 01:00:00
Я хотел бы иметь возможность преобразовать указанный выше фрейм данных с новыми полями, имеющими datetime.datetime
объекты с двумя другими дополнительными столбцами, например, здесь с фиктивной датой и использованием времени из соответствующих строк:
et st sdate_time edate_time
0 22:00:00 21:00:00 2018-01-01 21:00:00 2018-01-01 22:00:00
1 03:00:00 01:00:00 2018-01-01 1:00:00 2018-01-01 3:00:00
Подход, который я пробовал, использует метод apply
df['et'].apply(lambda et: pd.datetime.combine(datetime.datetime.strptime('2018-01-01', '%Y-%m-%d').date(),et))
, но оказывается, что фрейм данных может быть очень большим, и я хотел бы векторизовать вышеописанную операцию без метода apply.