熊猫,错误的日期时间格式

时间:2018-11-03 10:03:39

标签: python pandas

我有一个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'与指定的格式不匹配

如何解决? 谢谢

3 个答案:

答案 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'))