En Python Pandas, ¿cómo puedo convertir esta cadena de fecha formateada a datetime?

He intentado varias formas de usar to_datetime , pero hasta ahora solo puedo hacer que devuelva el dtype como “objeto”

 pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True) 

El retorno de este comando es:

 0 28Dec2013 19:23:15 dtype: object 

Puede pasar un parámetro de format a la función to_datetime .

 >>> import pandas as pd >>> df = pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),format="%d%b%Y %H:%M:%S",dayfirst=True) >>> df 0 2013-12-28 19:23:15 dtype: datetime64[ns] 

En caso de que necesite convertir columnas existentes en un dataframe aquí, la solución utilizando una función auxiliar y el método de apply .

 import datetime import pandas as pd def conv(x): return datetime.datetime.strptime(x, '%d%b%Y %H:%M:%S') series = pd.Series(['28Dec2013 19:23:15']) converted = series.apply(conv) 0 2013-12-28 19:23:15 dtype: datetime64[ns] 

Pandas no reconoce ese formato de fecha y hora.

 >>> pd.to_datetime(Series(['28Dec2013 19:23:15'])) 0 28Dec2013 19:23:15 dtype: object >>> pd.to_datetime(Series(['28 Dec 2013 19:23:15'])) 0 2013-12-28 19:23:15 dtype: datetime64[ns] 

Deberá analizar las cadenas que está introduciendo en la serie. Las expresiones regulares probablemente serán una buena solución para esto.