![](/img/trans.png)
[英]How to work around Python Pandas DataFrame's “Out of bounds nanosecond timestamp” error?
[英]Python Pandas out of bounds datetime timestamp error for long dataframe
我有一個形狀為(500000,70)
的數據框df
,其中包括無效日期之類的幾列,如4000-01-01 00:00:00
。 在此數據框的較小版本中,我嘗試了
df["date"] = df["date"].astype(str)
df["date"] = df["date"].replace('4000-01-01 00:00:00', pd.NaT)
效果很好。 還有版本
df["date"] = pd.to_datetime(df["date"].replace("4000-01-01 00:00:00",pd.NaT))
工作。 對於長數據框版本,我收到以下錯誤
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 4000-01-01 00:00:00
有什么建議如何以一種優雅的方式解決這個問題,或者可能是什么問題?
謝謝。
如果向to_datetime
函數添加參數errors='coerce'
, to_datetime
為所有不可解析的日期時間返回NaT
:
df["date"] = pd.to_datetime(df["date"], errors='coerce')
該錯誤是因為:
In [332]: pd.Timestamp.max
Out[332]: Timestamp('2262-04-11 23:47:16.854775807')
日期的上限是這個。 而且您的值超出了范圍,因此超出了OutOfBoundsError。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.