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
Run Code Online (Sandbox Code Playgroud)
我希望能够使用新字段转换上述数据帧,该新字段具有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
Run Code Online (Sandbox Code Playgroud)
我尝试过的方法是使用 apply 方法
df['et'].apply(lambda et: pd.datetime.combine(datetime.datetime.strptime('2018-01-01', '%Y-%m-%d').date(),et))
Run Code Online (Sandbox Code Playgroud)
但事实证明数据帧可能非常巨大,我想在不使用 apply 方法的情况下对上述操作进行矢量化。