具有亚秒(例如ms)分辨率的to_datetime

时间:2014-09-24 19:03:55

标签: python numpy pandas

我有一个系列将时间戳保存为字符串,如下所示:

404     02:59:34,787
626     10:04:09,622
668     11:10:52,190
796     14:40:32,032
1022    17:20:58,314
1035    17:47:55,895
1071    18:50:12,628
1075    19:20:19,642
8902    23:50:54,408
Name: my_time, Length: 9, dtype: object

据我了解,我可以在技术上使用pd.to_datetime将其转换为一系列datetime个对象。但是,查看strftime我没有看到任何支持亚秒级解析的格式规范(在我的情况下为ms)。

我错过了什么吗?将Series个字符串转换为Seriesdatetime个对象的最佳方法是什么

1 个答案:

答案 0 :(得分:5)

这是一个完全矢量化的溶液。开始系列

In [32]: x
Out[32]: 
404     02:59:34,787
626     10:04:09,622
668     11:10:52,190
796     14:40:32,032
1022    17:20:58,314
1035    17:47:55,895
1071    18:50:12,628
1075    19:20:19,642
8902    23:50:54,408
Name: value, dtype: object

替换','到'。',转换为timedelta并添加日期

In [33]: pd.to_timedelta(x.str.replace(',','.')) + Timestamp('20130101')
Out[33]: 
404    2013-01-01 02:59:34.787000
626    2013-01-01 10:04:09.622000
668    2013-01-01 11:10:52.190000
796    2013-01-01 14:40:32.032000
1022   2013-01-01 17:20:58.314000
1035   2013-01-01 17:47:55.895000
1071   2013-01-01 18:50:12.628000
1075   2013-01-01 19:20:19.642000
8902   2013-01-01 23:50:54.408000
Name: value, dtype: datetime64[ns]