Combinar datos de múltiples tablas es esencial para integrar información de diferentes fuentes en el análisis de datos. Pandas ofrece funciones como merge(), concat() y join() que facilitan esta tarea de manera eficiente y flexible.
A continuación, exploraremos cómo utilizar estas funciones con ejemplos prácticos que te ayudarán a dominar la combinación de DataFrames en tus proyectos de análisis de datos.
¿Cómo se utiliza la función merge()?
La función merge() en Pandas permite combinar DataFrames de manera similar a las uniones en SQL, basándose en una o más claves comunes.
Unión Interna (Inner Join)
Combina solo las filas con claves coincidentes en ambos DataFrames.
import pandas as pd
# CrearDataFrames de ejemplo
df1 = pd.DataFrame({'key':['A','B','C'],'value1':[1,2,3]})df2 = pd.DataFrame({'key':['B','C','D'],'value2':[4,5,6]})# Realizar un merge interno
inner_merged = pd.merge(df1, df2, on='key', how='inner')print("Unión Interna:\n", inner_merged)
Unión Externa (Outer Join)
Incluye todas las filas de ambos DataFrames, rellenando con NaN donde no haya coincidencias.
La función join() permite combinar DataFrames en función del índice o una columna clave, similar a merge(), pero más simplificado para uniones basadas en índices.
Join con Índice
Combina DataFrames utilizando el índice como la clave de unión.
# CrearDataFrames de ejemplo con índices
df5 = pd.DataFrame({'A':['A0','A1','A2'],'B':['B0','B1','B2']}, index=['K0','K1','K2'])df6 = pd.DataFrame({'C':['C0','C1','C2'],'D':['D0','D1','D2']}, index=['K0','K2','K3'])# Realizar un join
joined = df5.join(df6, how='inner')print("Join con Índice:\n", joined)