← Lumbre

Programación con Python para Datos · 2.º Unir y transformar tablas

← Volver a todos los contenidos
Portada de Unir y transformar tablas

Unir y transformar tablas

✦ Los datos rara vez vienen en una sola tabla: hay que unirlos y a veces reorientarlos de ancho a largo · Programación con Python para Datos · Programación · 4 minutos que valen la pena

Roadwise Consulting

Firmado y verificado · Fernando Castro

Objetivo: Combinar DataFrames con concat y merge, y reorganizar su forma con melt y pivot.

4 min 18–30 años
Autoevaluación
Más
Unir y transformar tablas

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Objetos Cursos Explorar Mi cuenta Salir del modo estudio

Unir y transformar tablas

Ilustracion de Python para datos: DataFrame, graficas y arrays de NumPy.
Python para ciencia de datos: NumPy, pandas y manipulacion de datos.

Mapa conceptual

  • Python para Datos
    • Entorno
      • pip
      • venv
      • Reproducibilidad
    • Funcional
      • Comprensiones
      • Lambda
      • map filter
    • Calidad
      • try except
      • pytest
      • Asserts
    • NumPy
      • Arrays
      • Broadcasting
      • Indexacion
    • Pandas
      • DataFrame
      • Groupby
      • Merge Join

concat: apilar

pd.concat apila DataFrames. Con axis=0 añade filas (varios meses del mismo informe); con axis=1 añade columnas lado a lado. Es la operación de «juntar trozos del mismo tipo».

merge: relacionar

pd.merge une dos tablas por el valor de una o más columnas clave, como un JOIN de base de datos. Cada fila de una se empareja con las de la otra que comparten clave, enriqueciendo la información.

Tipos de join

  • inner: solo las claves presentes en ambas tablas.
  • left: conserva todas las filas de la izquierda, con NaN donde la otra no tenga pareja.
  • right y outer: simétricos y completo, respectivamente.

Elegir el join correcto

La pregunta es qué NO quieres perder. Si necesitas cada pedido aunque no puedas completar el cliente, usa left sobre pedidos. Si solo te interesa donde hay datos en ambos lados, inner. El tipo de join decide el número de filas del resultado y, con él, la conclusión.

Cada necesidad de ensamblaje tiene su operación.
SituaciónHerramientaEfecto
Añadir filas del mismo esquemaconcat(axis=0)más largo
Añadir columnas alineadasconcat(axis=1)más ancho
Unir por una clave comúnmerge(on=...)ancho enriquecido
Conservar aunque falte parejamerge(how=left)huecos como NaN

Necesitas una tabla con TODOS los clientes y sus pedidos, incluyendo los clientes que no han pedido nada. ¿Qué merge usas?

Claves con nombres distintos

A veces la columna clave se llama diferente en cada tabla: merge(left_on=id_cliente, right_on=cliente_id) lo resuelve. Tras unir, suelen sobrar columnas duplicadas que conviene descartar.

Peligro de las duplicidades

Si la clave se repite en ambos lados, merge produce el producto de las coincidencias y el resultado crece más de lo esperado. Validar que la clave es única (o entender su granularidad) antes de unir evita tablas infladas.

melt: de ancho a largo

Un DataFrame «ancho» (una columna por mes) es difícil de agrupar. pd.melt lo vuelve «largo»: cada medida pasa a una fila con una columna de variable y otra de valor. Es la forma que prefieren groupby y las librerías de gráficos.

pivot: de largo a ancho

pivot (y pivot_table) hace lo inverso: convierte valores de una columna en cabeceras, cruzando con índices y agregando si hay repetidos. Convierte un listado largo en una matriz legible por celdas.

Cuándo reorientar

  • Datos mensuales en columnas que quieres analizar como serie: melt a largo.
  • Un listado de transacciones que quieres ver como tabla por categoría y mes: pivot_table.
  • Preparar un informe: pivot; preparar para agrupar o graficar: melt.

Errores frecuentes

  • Unir sin comprobar la unicidad de la clave y duplicar filas sin darse cuenta.
  • Elegir inner cuando se necesitaban las filas no coincidentes, perdiendo datos en silencio.
  • Confundir concat (apilar) con merge (relacionar por clave).

pd.merge puede generar más filas que las tablas de origen si la clave de unión está repetida en ambos lados.

Cadena de ensamblaje

Un análisis real suele ser: cargar varias fuentes, limpiar, unir por claves, reorientar y luego agregar. Pensar el pipeline en esas etapas hace que cada operación sea pequeña y verificable.

Asigna cada operación a su propósito:

Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.

Video complementario
Recurso audiovisual para reforzar los conceptos.

Tienes una tabla ancha de ventas por trimestre y una tabla de regiones con su continente. Describe los pasos: ¿reorientarías primero o unirías primero? Justifica el orden según lo que quieras responder.

Tu texto se guarda sólo en este dispositivo.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.

Autoevaluación

Comprueba lo que aprendiste

2 preguntas · ves cada respuesta al momento · el resultado queda guardado en tu historial

Iniciar autoevaluación
Más sobre esta lección

Rutas vivas

¿Y ahora qué? Elige el camino por lo que necesitas

No es un listado al azar: cada camino responde una pregunta distinta y te dice por qué.

Otra forma de comprenderlo

✦ Explorar el universo completo
Explora temas relacionados

Conceptos

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.