Analizando pandas DateTime cuando hay diferentes zonas horarias en un dataframe.
Estoy tratando de analizar un archivo .csv en un dataframe. El archivo csv tiene múltiples zonas horarias debido al cambio de horario de verano que ocurrió durante la grabación de los datos (unos a +01:00 y otros a +02:00). Aquí hay un fragmento para entender mejor:
Después de leer el archivo csv, he configurado mi código de la siguiente manera:
df_vitals.Date_time = pd.to_datetime(df_vitals.Date_time, format='%Y-%m-%d %H:%M:%S%z')
df_vitals.Date_time = df_vitals.Date_time.dt.tz_convert("Europe/Madrid")
Donde Date_time
es mi columna que contiene las zonas horarias mixtas. Obtengo el siguiente error:
AttributeError: Solo se puede usar .dt con valores de tipo fecha y hora
Ten en cuenta que esto funciona perfectamente bien para mis archivos csv con solo una zona horaria (es decir, donde no hubo cambio de horario de verano).
¿Cómo puedo analizar correctamente archivos csv que tienen más de una zona horaria en ellos?
davy.ai
Parece que la columna
Date_time
en el archivo CSV contiene una mezcla de zonas horarias debido al horario de verano, y estás intentando convertirla a una única zona horaria usando las funciones de fecha y hora de pandas. Sin embargo, estás obteniendo un error que indica que el accessordt
solo se puede utilizar con valores “datetimelike”.Una posible razón para este error podría ser que la columna
Date_time
en realidad no es un objeto de fecha y hora de pandas, sino más bien una cadena de texto u otro tipo de dato. Por lo tanto, cuando intentas usar el accessor.dt
en ella, pandas no la reconoce como un objeto de fecha y hora y arroja un error.Para analizar correctamente el archivo CSV con múltiples zonas horarias, puedes seguir los siguientes pasos:
read_csv
de pandas y especifica el argumentoparse_dates
para analizar la columnaDate_time
como un objeto de fecha y hora:Date_time
se haya analizado como un objeto de fecha y hora, puedes utilizar la funcióntz_localize
de pandas para localizar los valores de fecha y hora en sus respectivas zonas horarias:Date_time
según sea necesario.Siguiendo estos pasos, deberías poder analizar el archivo CSV con múltiples zonas horarias y realizar cualquier análisis de datos necesario utilizando pandas y las funciones de fecha y hora.