pandas.to_datetime 给出 OutOfBoundsDatetime 错误

ste*_*phi 3 pandas

我有某种格式的数据,我想将其读入 pandas.DataFrame 中。有些行给我一个错误。下面是这些字符串之一的最小示例,但我有几个它不起作用的地方(奇怪的是有些它起作用的地方)。

确切的错误是:

OutOfBoundsDatetime,越界纳秒时间戳:2276-02-18 05:15:13

import pandas as pd 
pd.to_datetime('02/18/2276 5:15:13 AM', format='%m/%d/%Y %I:%M:%S %p')
Run Code Online (Sandbox Code Playgroud)

我用这个网站来制作我的格式字符串: https://pandas.pydata.org/pandas-docs/stable/ generated/pandas.Period.strftime.html

我很感激任何帮助!

EdC*_*ica 6

这是超出范围的,因为datetimedtype 的datetime64[ns]上限为 2262 年,请参阅文档,如果您将分辨率更改为较低的分辨率,那么它可以处理此日期时间,但pandas不幸的是您无法在其中执行此操作。由于datetimes 本身存储为datetime64[ns],因此您必须在 numpy 中或使用正常的日期时间来执行此操作。

另一种方法是,如果年份超出范围,则将其存储在单独的列中,并将年份值设置为1900或年份超出范围的其他指示符。

但是,这会带来性能问题,因为您丢失了一些矢量化操作