Reformateo de datos con Pandas

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el análisis de datos, es común encontrar conjuntos de datos que no están organizados de la manera que queremos. La remodelación de datos se refiere al proceso de cambiar cómo se organiza los datos en filas y columnas. En este laboratorio, exploraremos algunos de los métodos clave en Pandas para la remodelación de datos, incluyendo Pivot, Stack, Unstack, Melt, Tablas cruzadas, Apilamiento, Factorización y Explosió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 sus comentarios después de la sesión y resolveremos rápidamente el problema para usted.

Importando las bibliotecas necesarias y crear un DataFrame

Primero, importemos las bibliotecas necesarias y creemos un DataFrame para nuestros ejemplos.

import pandas as pd
import numpy as np

## Crear DataFrame
np.random.seed([3, 1415])
n = 20
cols = np.array(["key", "row", "item", "col"])
df = cols + pd.DataFrame((np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str))
df.columns = cols
df = df.join(pd.DataFrame(np.random.rand(n, 2).round(2)).add_prefix("val"))

Pivotamiento con agregaciones simples

Pivot es uno de los métodos clave para la remodelación de datos en Pandas. Proporciona una forma de transformar tus datos para que puedas visualizarlos desde diferentes ángulos.

## Pivot df con la media de val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc="mean", fill_value=0)

Pivotamiento con múltiples agregaciones

También podemos realizar múltiples agregaciones en Pivot.

## Pivot df con la media y la suma de val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc=["mean", "sum"])

Tablas cruzadas

La tabulación cruzada es un método para analizar cuantitativamente la relación entre múltiples variables.

## Tabulación cruzada entre row y col
df.pivot_table(index="row", columns="col", fill_value=0, aggfunc="size")

Resumen

¡Felicitaciones! Has completado el laboratorio de remodelación de datos con Pandas. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.