Convierta el tipo de columna de string a formato de fecha y hora en el marco de datos de Pandas

Al trabajar con datos en Pandas, no es inusual encontrar datos de series temporales, y sabemos que Pandas es una herramienta muy útil para trabajar con datos de series temporales en python.
Veamos cómo podemos convertir una columna de marco de datos de strings (en formato dd/mm/yyyy) al formato de fecha y hora. No podemos realizar ninguna operación basada en series temporales en las fechas si no están en el formato correcto. Para poder trabajar con él, debemos convertir las fechas al formato de fecha y hora.

Código #1: Convierta el tipo de columna del marco de datos de Pandas de string a formato de fecha y hora usando la función pd.to_datetime().

Python3

# importing pandas as pd
import pandas as pd
 
# Creating the dataframe
df = pd.DataFrame({'Date':['11/8/2011', '04/23/2008', '10/2/2019'],
                'Event':['Music', 'Poetry', 'Theatre'],
                'Cost':[10000, 5000, 15000]})
 
# Print the dataframe
print(df)
 
# Now we will check the data type
# of the 'Date' column
df.info()

Producción: 


Como podemos ver en la salida, el tipo de datos de la columna ‘Fecha’ es un objeto, es decir, una string. Ahora lo convertiremos al formato de fecha y hora usando la función pd.to_datetime(). 

Python3

# convert the 'Date' column to datetime format
df['Date']= pd.to_datetime(df['Date'])
 
# Check the format of 'Date' column
df.info()

Producción: 

Como podemos ver en la salida, el formato de la columna ‘Fecha’ se ha cambiado al formato de fecha y hora. 
  
Código #2: Convierta el tipo de columna del marco de datos de Pandas de string a formato de fecha y hora usando la función DataFrame.astype().

Python3

# importing pandas as pd
import pandas as pd
 
# Creating the dataframe
df = pd.DataFrame({'Date':['11/8/2011', '04/23/2008', '10/2/2019'],
                'Event':['Music', 'Poetry', 'Theatre'],
                'Cost':[10000, 5000, 15000]})
 
# Print the dataframe
print(df)
 
# Now we will check the data type
# of the 'Date' column
df.info()

Producción : 

Como podemos ver en la salida, el tipo de datos de la columna ‘Fecha’ es un objeto, es decir, una string. Ahora lo convertiremos al formato de fecha y hora usando la función DataFrame.astype(). 

Python3

# convert the 'Date' column to datetime format
df['Date'] = df['Date'].astype('datetime64[ns]')
 
# Check the format of 'Date' column
df.info()

Producción : 

Como podemos ver en la salida, el formato de la columna ‘Fecha’ se ha cambiado al formato de fecha y hora.

Código #3: si la columna del marco de datos está en formato ‘aaaammdd’ y tenemos que convertirla al formato ‘aaaammdd’ 

Python3

# importing pandas library
import pandas as pd
 
# Initializing the nested list with Data set
player_list = [['200712',50000],['200714',51000],['200716',51500],
            ['200719',53000],['200721',54000],
            ['200724',55000],['200729',57000]]
 
# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Dates','Patients'])
 
# printing dataframe
print(df)
print()
 
# checking the type
print(df.dtypes)

Python3

# converting the string to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%y%m%d')
 
# printing dataframe
print(df)
print()
 
print(df.dtypes)

En el ejemplo anterior, cambiamos el tipo de datos de la columna ‘Dates’ de ‘ object ‘ a ‘ datetime64[ns] ‘ y el formato de ‘yymmdd’ a ‘yyyymmdd’.

Código n.º 4: convertir varias columnas de string al formato ‘yyyymmdd ‘ usando pandas.to_datetime()

Python3

# importing pandas library
import pandas as pd
 
# Initializing the nested list with Data set
player_list = [['20200712',50000,'20200812'],
               ['20200714',51000,'20200814'],
               ['20200716',51500,'20200816'],
               ['20200719',53000,'20200819'],
               ['20200721',54000,'20200821'],
               ['20200724',55000,'20200824'],
               ['20200729',57000,'20200824']]
 
# creating a pandas dataframe
df = pd.DataFrame(
  player_list,columns = ['Treatment_start',
                         'No.of Patients',
                         'Treatment_end'])
 
# printing dataframe
print(df)
print()
 
# checking the type
print(df.dtypes)

Python3

# converting the string to datetime
# format in multiple columns
df['Treatment_start'] = pd.to_datetime(
                          df['Treatment_start'],
                          format='%Y%m%d'
)
df['Treatment_end'] = pd.to_datetime(
                          df['Treatment_end'],
                          format='%Y%m%d'
)
 
 
# printing dataframe
print(df)
print()
 
print(df.dtypes)

En el ejemplo anterior, cambiamos el tipo de datos de las columnas ‘ Treatment_start ‘ y ‘ Treatment_end ‘ de ‘ object ‘ a ‘ datetime64[ns] ‘.

Publicación traducida automáticamente

Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *