我有一个系列将时间戳保存为字符串,如下所示:
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
个字符串转换为Series
个datetime
个对象的最佳方法是什么
答案 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]