ValueError:时间数据-与格式不匹配-熊猫

3 python datetime pandas

我知道这个问题已经问过很多遍了,答案很多。我遵循了先前的主题,仍然没有得到答案。当我这样做时,没有errors= coerce

df['DATE'] = pd.to_datetime(df['Date'], format= "%d-%b-%Y %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ValueError:时间数据'17 -Aug-17 10:11:29'与格式'%d-%b-%Y%H:%M:%S'不匹配(匹配)

如您所见,我认为我的格式正确。但是它仍然给出错误。

当我errors= coerce根据这篇文章做的时候,

df['DATE'] = pd.to_datetime(df['Date'], format= "%d-%b-%Y %H:%M:%S", `errors= coerce`)
Run Code Online (Sandbox Code Playgroud)

运行良好,但我进入NaTDATE专栏。像这样

        Date                    X           DATE    
  0    26-Aug-17 10:11:29    95.617378      NaT
  1    26-Aug-17 11:11:29    93.617378      NaT
  2    26-Aug-17 12:11:29    91.617378      NaT
  3    26-Aug-17 13:11:29    90.000000      NaT
Run Code Online (Sandbox Code Playgroud)

我的格式正确,但仍然找不到为什么出现此错误。任何想法都会有所帮助。

jez*_*ael 6

您需要更改Yy,因为Y需要整年,但y只能使用最后两位数,请参见http://strftime.org/

df['DATE'] = pd.to_datetime(df['Date'], format= "%d-%b-%y %H:%M:%S")
print (df)
                 Date          X                DATE
0  26-Aug-17 10:11:29  95.617378 2017-08-26 10:11:29
1  26-Aug-17 11:11:29  93.617378 2017-08-26 11:11:29
2  26-Aug-17 12:11:29  91.617378 2017-08-26 12:11:29
3  26-Aug-17 13:11:29  90.000000 2017-08-26 13:11:29
Run Code Online (Sandbox Code Playgroud)