当前位置:  开发笔记 > 编程语言 > 正文

转换Pandas时间序列:UNIX epoch到datetime

如何解决《转换Pandas时间序列:UNIXepoch到datetime》经验,为你挑选了1个好方法。

我想将以下一系列UNIX纪元转换为常规日期时间对象:

>> val = pd.Series(["1440643875", "1440644191", "1440645638", "1440998720"])
>> val
0    1440643875
1    1440644191
2    1440645638
3    1440998720
Name: obj, dtype: object

似乎有两种方法可以做到这一点.首先是:

>> pd.to_datetime(val, unit='s')
ValueError: year is out of range

第二个:

val.astype("datetime64[s]")
TypeError: Cannot parse "1445124547" as unit 's' using casting rule 'same_kind'

这里似乎有什么问题?

我还尝试使用"在线时代计算器"工具检查这些时间戳,并给出合理的答案.



1> user1496984..:

问题是元素是字符串,而不是整数.显然,pd.to_datetime()从字符串转换为日期时间不够智能.

我的解决方案是:

>> val.astype('int').astype("datetime64[s]")
0   2015-08-27 02:51:15
1   2015-08-27 02:56:31
2   2015-08-27 03:20:38
3   2015-08-31 05:25:20
dtype: datetime64[ns]

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有