我有一个包含非常旧日期的 csv 文件,pd.to_datetime 失败了。它在极坐标系中有效。这是 Pandas 的固有限制、错误还是其他原因?
import pandas as pd
dates = ["12/31/1672","12/31/1677","10/19/2024"]
df = pd.DataFrame(dates, columns=['Date'])
df['Date'] = pd.to_datetime(df['Date'], format='%m/%d/%Y', errors='coerce')
df
Date
0 NaT
1 1677-12-31
2 2024-10-19
在极地
import polars as pl
df = pl.DataFrame({ 'Date': dates})
df = df.with_columns(pl.col('Date').str.strptime(pl.Date, format="%m/%d/%Y"))
df
shape: (3, 1)
┌────────────┐
│ Date │
│ --- │
│ date │
╞════════════╡
│ 1672-12-31 │
│ 1677-12-31 │
│ 2024-10-19 │
└────────────┘
pandas 有时间戳限制;文档建议在这种情况下使用
period
(当然这取决于period
数据类型是否涵盖你的用例):