合并日期和时间;值错误:小时必须在 0.23 中



我有以下df:

date                             time
2018-01-01 00:00:00             7:30:33
2017-01-01 00:00:00             7:30:33

我想创建一个日期时间列,它应该如下所示:

2018-01-01 7:30:33        
2017-01-01 7:30:33  

为此,我使用以下代码:

    df["datetime"] = pd.to_datetime(df['date'].apply(str)+' '+df['time'])

它大部分时间都有效。但是,在我的 df 的某些部分(我不知道是哪些部分(,我收到以下错误:

ValueError: hour must be in 0..23

做错了什么,我该如何解决这个问题?

date转换为datetimetime转换为timedelta,然后将它们相加。

pd.to_datetime(df.date) + pd.to_timedelta(df.time)
0   2018-01-01 07:30:33
1   2017-01-01 07:30:33
dtype: datetime64[ns]

如果您担心无效值,请将 errors='coerce' 参数添加到两个函数以适当地处理它们。

最新更新