gpt4 book ai didi

python - 如何将 datetime.time() 对象转换为 datetime.datetime 对象 pandas

转载 作者:行者123 更新时间:2023-12-02 08:51:58 24 4
gpt4 key购买 nike

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 方法的情况下对上述操作进行矢量化。

最佳答案

试试这个

date = str(datetime.datetime.strptime('2018-01-01', '%Y-%m-%d').date())

df['edate_time'] = pd.to_datetime(date + " " + df.et.astype(str))

et st edate_time
0 22:00:00 21:00:00 2018-01-01 22:00:00
1 03:00:00 01:00:00 2018-01-01 03:00:00

关于python - 如何将 datetime.time() 对象转换为 datetime.datetime 对象 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52955534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com