我有一个df,包含2999-01-01日期,该日期与指定的格式不匹配。
a date
prod1 2019/02/23
prod2 2999/01/02
当我使用时:
df.date=pd.to_datetime(df.date_DATE,format='%Y-%m-%d')
返回错误:时间数据'2999-01-01 00:00:00.0'与指定的格式不匹配
如何解决? 谢谢
答案 0 :(得分:0)
使用参数errors='coerce'
将limits
之外的日期时间转换为NaT
,由于分隔符为%Y/%m/%d
,因此也将格式更改为/
:
df['date'] = pd.to_datetime(df['date'],format='%Y/%m/%d', errors='coerce')
print (df)
a date
0 prod1 2019-02-23
1 prod2 NaT
答案 1 :(得分:0)
自custom_error起,可表示的最大#[macro_use] extern crate custom_error;
custom_error!{ MyError
Request{source: reqwest::Error} = "request error",
Url{source: url::ParseError} = "invalid url"
}
在2262(特别是Timestamp
)中,因此您所做的将永远无法工作。
如果您不介意将您的时间表示为一天pd.Timestamp
is represented as a long of nanoseconds,则可以改用它。例如:
pd.Timestamp.max
答案 2 :(得分:0)
我突然想到了一些事情
import datetime
df.Date.apply(lambda x:datetime.datetime.strftime(x,'%Y-%m-%d'))