使用pandas to_datetime将秒转换为Datetime,而不会降低微秒精度

时间:2017-02-22 19:26:38

标签: pandas python-datetime

我尝试使用pandas to_datetime将包含微秒精度的秒 - 自 - 纪元值数组转换为日期时间格式,如下所示:

x = 1487187300.038075
time = pd.to_datetime(x, unit='s')

这成功转换为时间戳,但微秒精度被删除(或至少不可见),产生:

Timestamp('2017-02-15 19:35:00')

关于如何转换而不失精度的任何建议?到目前为止,我的搜索都没有显示OP保持微秒级精度的示例。

1 个答案:

答案 0 :(得分:1)

我认为我找到了根本原因,并找到了一个临时的解决方法。在pandas 0.19.1中修复了一个问题,其中浮动被截断。

https://github.com/pandas-dev/pandas/issues/13834

解决方法是使用“errors ='coerce'”争论:

x = 1487187300.038075
time = pd.to_datetime(x, unit='s', errors='coerce')

time
Out[43]: 
Timestamp('2017-02-15 19:35:00.038075')

我对那些'错误'论点可能影响的其他内容并不聪明,但我认为它解决了我的问题。