我正在处理一个pandas数据帧,我的一个列是一个日期(YYYYMMDD),另一个是一个小时(HH:MM),我想将两列连接为一个时间戳或datetime64列,以后使用该列作为索引(对于时间序列)。情况如下:
你有什么想法吗?经典的pandas.to_datetime()似乎只有在列只包含小时,仅限日期和年份时才有效...等等......
答案 0 :(得分:0)
<强>设置强>
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