【发布时间】:2022-11-27 01:06:06
【问题描述】:
我很难将 csv 文件中的分离日期和时间列转换为以毫秒为单位的合并数据框日期时间列。
原始数据:
Date Time
0 2014/9/2 08:30:00.0
1 2014/9/2 08:37:39.21
2 2014/9/2 08:39:41.2
3 2014/9/2 08:41:23.9
4 2014/9/2 09:13:01.1
5 2014/9/2 09:43:02.49
6 2014/9/2 10:49:16.115
7 2014/9/2 10:58:46.39
8 2014/9/2 11:46:18.5
9 2014/9/2 12:03:43.0
10 2014/9/2 12:56:22.0
11 2014/9/2 13:13:01.0
12 2014/9/2 14:42:22.39
13 2014/9/2 14:50:00.74
14 2014/9/3 08:30:00.0
15 2014/9/3 08:30:11.57
16 2014/9/3 08:39:02.18
17 2014/9/3 08:44:31.74
18 2014/9/3 08:45:16.105
19 2014/9/3 08:47:52.57
连接日期 + 时间列
df['datetime'] = df.Date + str(' ') + df.Time
0 2014/9/2 08:30:00.0
1 2014/9/2 08:37:39.21
2 2014/9/2 08:39:41.2
3 2014/9/2 08:41:23.9
4 2014/9/2 09:13:01.1
5 2014/9/2 09:43:02.49
6 2014/9/2 10:49:16.115
7 2014/9/2 10:58:46.39
8 2014/9/2 11:46:18.5
9 2014/9/2 12:03:43.0
尝试将字符串解析为日期时间对象:
df['datetime'] = df['datetime'].apply(lambda x: datetime.strptime(x, '%Y/%m/%d %H:%M:%S.f%'))
失败:
ValueError: stray % in format '%Y/%m/%d %H:%M:%S.f%'
这有什么问题以及如何解决?
【问题讨论】: