【发布时间】:2017-05-20 07:07:31
【问题描述】:
在制作一个日期时间列时遇到问题。我的 df 有一个以日期为元组的“日期”列和一个时间戳列。如下图:
df.head(2)
date time
0 (2016,5,7) 01:01:01.125
1 (2016,5,8) 02:03:05.691
对于日期在元组中这一事实,pandas 中是否有一种快速方法可以将这两列合并为一个日期时间列处理?
谢谢
【问题讨论】:
在制作一个日期时间列时遇到问题。我的 df 有一个以日期为元组的“日期”列和一个时间戳列。如下图:
df.head(2)
date time
0 (2016,5,7) 01:01:01.125
1 (2016,5,8) 02:03:05.691
对于日期在元组中这一事实,pandas 中是否有一种快速方法可以将这两列合并为一个日期时间列处理?
谢谢
【问题讨论】:
从元组构造一个数据框以传递给pd.to_datetime
使用pd.to_timedelta 将'time' 列转换为时间增量
date = pd.to_datetime(
pd.DataFrame(
df.date.tolist(),
columns=['year', 'month', 'day']
)
)
time = pd.to_timedelta(df.time)
date + time
0 2016-05-07 01:01:01.125
1 2016-05-08 02:03:05.691
dtype: datetime64[ns]
【讨论】: