Cómo convertir columnas a DateTime en Pandas

A menudo, puede estar interesado en convertir una o más columnas en un DataFrame de pandas a un formato DateTime. Afortunadamente, esto es fácil de hacer usando la función to_datetime () .

Este tutorial muestra varios ejemplos de cómo utilizar esta función en el siguiente DataFrame:

importar numpy como np
 importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'evento': ['A', 'B', 'C'],
                   'fecha_inicio': ['20150601', '20160201', '20170401'],
                   'fecha_finalización': ['20150608', '20160209', '20170416']})

#view DataFrame
 df

	evento fecha_inicio fecha_final
0 A 20150601 20150608
1 B 20160201 20160209
2 C 20170401 201704161

#ver tipos de datos de columna
 df. dtipos

objeto de evento
objeto start_date
objeto end_date
dtype: objeto

Ejemplo 1: convertir una sola columna en DateTime

El siguiente código muestra cómo convertir la columna «fecha_inicio» de una cadena a un formato de fecha y hora:

#convert start_date al formato DateTime 
df ['start_date'] = pd. to_datetime (df ​​['start_date'])

#view DataFrame
 df

        evento fecha_inicio fecha_final
0 A 2015-06-01 20150608
1 B 2016-02-01 20160209
2 C 2017-04-01 20170416

#ver tipos de fecha de columna
 df. dtipos

objeto de evento
start_date datetime64 [ns]
objeto end_date
dtype: objeto

Tenga en cuenta que la función to_datetime () es inteligente y normalmente puede inferir el formato de fecha correcto para usar, pero también puede especificar el formato para usar con el argumento de formato :

#convert start_date al formato DateTime 
df ['start_date'] = pd. to_datetime (df ​​['start_date'], format = ' % Y% m% d ')

#view DataFrame
 df

        evento fecha_inicio fecha_final
0 A 2015-06-01 20150608
1 B 2016-02-01 20160209
2 C 2017-04-01 20170416

#ver tipos de fecha de columna
 df. dtipos

objeto de evento
start_date datetime64 [ns]
objeto end_date
dtype: objeto

Ejemplo 2: convertir varias columnas en DateTime

El siguiente código muestra cómo convertir las columnas «start_date» y «end_date» de cadenas a formatos de fecha y hora:

#convert start_date y end_date a los formatos DateTime 
df [['start_date', 'end_date']] = df [['start_date', 'end_date']]. aplicar (pd. to_datetime )

#view DataFrame
 df

	evento fecha_inicio fecha_final
0 A 2015-06-01 2015-06-08
1 B 2016-02-01 2016-02-09
2 C 2017-04-01 2017-04-16

#ver tipos de fecha de columna
 df. dtipos

objeto de evento
start_date datetime64 [ns]
end_date datetime64 [ns]
dtype: objeto

Ejemplo 3: convertir columnas a formato de fecha y hora en segundos

En algunos casos, también puede tener columnas que incluyan una fecha junto con las horas, los minutos y los segundos, como el siguiente DataFrame:

#create DataFrame
df = pd.DataFrame ({'evento': ['A', 'B', 'C'],
                   'fecha_inicio': ['20150601043000', '20160201054500', '20170401021215'],
                   'fecha_finalización': ['20150608', '20160209', '20170416']})

#view DataFrame
 df

        evento fecha_inicio fecha_final
0 A 20150601043000 20150608
1 B 20160201054500 20160209
2 C 20170401021215 20170416

Una vez más, la función to_datetime () es inteligente y generalmente puede inferir el formato correcto para usar sin que nosotros lo especifiquemos:

#convert start_date al formato DateTime 
df ['start_date'] = pd. to_datetime (df ​​['start_date'])

#view DataFrame
 df

        evento fecha_inicio fecha_final
0 A 2015-06-01 04:30:00 20150608
1 B 2016-02-01 05:45:00 20160209
2 C 2017-04-01 02:12:15 20170416

#ver tipos de fecha de columna
 df. dtipos

objeto de evento
start_date datetime64 [ns]
objeto end_date
dtype: objeto

Por supuesto, en la naturaleza es probable que se encuentre con una variedad de formatos de fecha y hora extraños, por lo que es posible que tenga que usar el argumento de formato para decirle a Python exactamente qué formato de fecha y hora debe usar.

En esos casos, consulte esta página para obtener una lista completa de los operadores% DateTime que puede utilizar para especificar formatos.

Recursos adicionales

Cómo convertir fecha y hora a fecha en Pandas
Cómo convertir cadenas a flotantes en Pandas

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

La distribución hipergeométrica describe la probabilidad de elegir k objetos con una determinada característica en n dibujos sin reemplazo, de…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!