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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!