Introducción
En este laboratorio, exploraremos cómo reorganizar datos en pandas utilizando varias funciones como sort_values, pivot, pivot_table y melt. Trabajaremos con los conjuntos de datos del Titanic y la Calidad del Aire para demostrar las técnicas de reorganización.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema rápidamente para usted.
Importar bibliotecas y cargar datos
Primero, importemos las bibliotecas necesarias y carguemos los conjuntos de datos.
import pandas as pd
## Cargar el conjunto de datos del Titanic
titanic = pd.read_csv("data/titanic.csv")
## Cargar el conjunto de datos de Calidad del Aire
air_quality = pd.read_csv("data/air_quality_long.csv", index_col="date.utc", parse_dates=True)
Ordenar filas de la tabla
Ordene el conjunto de datos del Titanic según la edad de los pasajeros y luego por clase de cabina y edad en orden descendente.
## Ordenar por Edad
titanic.sort_values(by="Age").head()
## Ordenar por Pclass y Edad en orden descendente
titanic.sort_values(by=['Pclass', 'Age'], ascending=False).head()
Convertir de formato de tabla larga a ancha
Ahora convertiremos los datos de calidad del aire en formato largo a formato ancho utilizando la función pivot.
## Filtrar solo datos de no2
no2 = air_quality[air_quality["parameter"] == "no2"]
## Usar 2 mediciones (head) para cada ubicación (groupby)
no2_subset = no2.sort_index().groupby(["location"]).head(2)
## Hacer pivote de los datos
no2_subset.pivot(columns="location", values="value")
Crear una tabla dinámica
Crea una tabla dinámica para encontrar las concentraciones promedio de 𝑁𝑂2 y 𝑃𝑀25 en cada una de las estaciones.
air_quality.pivot_table(
values="value", index="location", columns="parameter", aggfunc="mean"
)
Convertir de formato ancho a largo
Ahora, convertiremos los datos de 𝑁𝑂2 en formato ancho a formato largo utilizando la función melt.
## Restablecer el índice para no2_pivoted
no2_pivoted = no2.pivot(columns="location", values="value").reset_index()
## Fundir los datos
no_2 = no2_pivoted.melt(id_vars="date.utc")
Resumen
En este laboratorio, aprendimos cómo reorganizar datos en pandas utilizando varias funciones como sort_values, pivot, pivot_table y melt. Aplicamos estas técnicas en los conjuntos de datos del Titanic y de Calidad del Aire para ordenar, hacer pivote y fundir los datos. Estas técnicas de reorganización son esenciales al trabajar con datos en pandas y pueden ayudarnos a analizar y visualizar eficientemente los datos.