Python 将两个数据帧列连接为一个时间戳

Python 将两个数据帧列连接为一个时间戳,python,pandas,dataframe,Python,Pandas,Dataframe,我正在处理pandas数据帧,其中一列是日期(YYYYMMDD),另一列是小时(HH:MM),我想将这两列连接为一个时间戳或datetime64列,以便以后将该列用作索引(用于时间序列)。情况如下: 你有什么想法吗?经典的pandas.to_datetime()似乎只有在列只包含小时、天和年的情况下才有效。。。等等。设置 df Out[1735]: id date hour other 0 1820 20140423 19:00:00 8 1

我正在处理pandas数据帧,其中一列是日期(YYYYMMDD),另一列是小时(HH:MM),我想将这两列连接为一个时间戳或datetime64列,以便以后将该列用作索引(用于时间序列)。情况如下:

你有什么想法吗?经典的pandas.to_datetime()似乎只有在列只包含小时、天和年的情况下才有效。。。等等。

设置

df
Out[1735]: 
     id      date      hour  other
0  1820  20140423  19:00:00      8
1  4814  20140424  08:20:00     22
解决方案

import datetime as dt
#convert date and hour to str, concatenate them and then convert them to datetime format.
df['new_date'] = df[['date','hour']].astype(str).apply(lambda x: dt.datetime.strptime(x.date + x.hour, '%Y%m%d%H:%M:%S'), axis=1)

df
Out[1756]: 
     id      date      hour  other            new_date
0  1820  20140423  19:00:00      8 2014-04-23 19:00:00
1  4814  20140424  08:20:00     22 2014-04-24 08:20:00

这两列的数据类型是什么?如果第一列是str,那么
pd.to_datetime(df['date']+df['time'],format='%Y%m%d%H:%m:%S')
应该可以重复,很抱歉我没有提到:
date
列是
int
,而
hour
列已经是
datetime.time