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