越界的纳秒时间戳

11

我在Google Spreadsheet中有一个名为['date_hiring']的变量,格式如下:

16.01.2016

我在Python中导入它,变量具有对象类型。我尝试将其转换为datetime。

from datetime import datetime
data['date_hiring'] = pd.to_datetime(data['date_hiring'])

然后我得到了

OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 16-01-06 00:00:00

pandas出现越界的纳秒级时间戳之后,加上一个月的偏移量中我了解到:

由于pandas使用纳秒分辨率表示时间戳,因此可以使用64位整数表示的时间跨度仅限于大约584年。

但是,在Google表格的原始数据中,我没有像'16.01.06'这样的数据。

只有像“16.06.2006”这样的数据。

所以问题在于如何进行转换。

如何改进呢?

1个回答

4
根据文档dayfirst字段默认为false:

dayfirst : 布尔型, 默认为False

所以它必须认定有一个格式不正确的日期并尝试将其解析为时间。

但是即使如此,它可能也无法将16点几视为小时或分钟,因此它试图将它转换为秒。但是由于有额外的小数点,所以它放弃了并说我不喜欢小数秒。(或类似的话)

我认为您可以通过提供明确的格式字符串或至少设置dayfirst来修复它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接