Convertir la columna de Pandas a DateTime

Tengo un campo en un dataframe de pandas que se importó como formato de cadena. Debe ser una variable de fecha y hora. ¿Cómo lo convierto en una columna de fecha y hora y luego filtro en función de la fecha?

Ejemplo:

  • Nombre de DataFrame : raw_data
  • Nombre de la columna: Mycol
  • Formato del valor en la columna: ’05SEP2014: 00: 00: 00.000′

Utilice la función to_datetime , especificando un formato para que coincida con sus datos.

 raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f') 

Puede usar el método .apply() para operar con los valores en Mycol:

 >>> df = pd.DataFrame(['05SEP2014:00:00:00.000'],columns=['Mycol']) >>> df Mycol 0 05SEP2014:00:00:00.000 >>> import datetime as dt >>> df['Mycol'] = df['Mycol'].apply(lambda x: dt.datetime.strptime(x,'%d%b%Y:%H:%M:%S.%f')) >>> df Mycol 0 2014-09-05 
 raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f') 

funciona, sin embargo, da como resultado una advertencia de Python de que se está intentando establecer un valor en una copia de un sector desde un DataFrame. Intente usar .loc[row_indexer,col_indexer] = value lugar

Supongo que esto se debe a algún indexado de encadenamiento.

Si tiene más de una columna para convertir, puede hacer lo siguiente:

 df[["col1", "col2", "col3"]] = df[["col1", "col2", "col3"]].apply(pd.to_datetime)