Aprenda a fusionar marcos de datos en Python

Aprenda a fusionar marcos de datos en Python

Si usa Python, incluso para las tareas más simples, probablemente sepa la importancia de sus bibliotecas de terceros. La biblioteca Pandas, con su excelente soporte para DataFrames, es una de esas bibliotecas.





Puede importar varios tipos de archivos en Python DataFrames y crear varias versiones para almacenar diferentes conjuntos de datos. Una vez que importe sus datos usando DataFrames, puede fusionarlos para realizar un análisis detallado.





Abordar los conceptos básicos

Antes de comenzar a fusionar, debe tener DataFrames para fusionar. Para fines de desarrollo, puede crear algunos datos ficticios para experimentar.





Crear los marcos de datos en Python

Como primer paso, importe la biblioteca de Pandas a su archivo de Python. Pandas es una biblioteca de terceros que maneja DataFrames en Python. Puedes usar el importar declaración para usar la biblioteca, de la siguiente manera:

detener el código de modo de kernel inesperado trampa
import pandas as pd

Puede asignar un alias al nombre de la biblioteca para acortar sus referencias de código.



Necesita crear diccionarios, que puede convertir en DataFrames. Para obtener los mejores resultados, cree dos variables de diccionario: dict1 y dict2— para almacenar piezas específicas de información:

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

Recuerde, debe tener un elemento común en ambos valores del diccionario, para que actúe como la clave principal para combinar sus DataFrames más adelante.





Convierta sus diccionarios en marcos de datos

Para convertir los valores de su diccionario en DataFrames, puede usar el siguiente método:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Algunos IDE le permiten verificar los valores dentro del DataFrame haciendo referencia a la función DataFrame y presionando Ejecutar/Ejecutar . Hay muchos IDE compatibles con Python , para que pueda elegir el que le resulte más fácil de aprender.





  Fragmento de código de Jupyter Notebook

Una vez que esté satisfecho con el contenido de sus DataFrames, puede continuar con el paso de fusión.

Combinar fotogramas con la función Merge

La función de combinación es la primera función de Python que puede usar para combinar dos marcos de datos. Esta función toma los siguientes argumentos predeterminados:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Dónde:

  • p.d. es un alias para la biblioteca Pandas.
  • unir es la función que fusiona DataFrames.
  • Marco de datos1 y marco de datos2 son los dos DataFrames para fusionar.
  • cómo define el tipo de fusión.

Hay algunos argumentos opcionales adicionales disponibles, que puede usar cuando tiene una estructura de datos compleja.

Puede utilizar diferentes valores para el parámetro how para definir el tipo de fusión a realizar. Estos tipos de fusión le resultarán familiares si ha usó SQL para unir tablas de bases de datos .

Fusión izquierda

El tipo de combinación izquierda mantiene intactos los valores del primer DataFrame y extrae los valores coincidentes del segundo DataFrame.

  Fragmento de código de Jupyter Notebook

Fusión derecha

El tipo de combinación correcto mantiene intactos los valores del segundo DataFrame y extrae los valores coincidentes del primer DataFrame.

  Fragmento de código de Jupyter Notebook

Fusión interna

El tipo de combinación interna conserva los valores coincidentes de ambos DataFrames y elimina los valores que no coinciden.

  Fragmento de código de Jupyter Notebook

Fusión exterior

El tipo de combinación externa conserva todos los valores coincidentes y no coincidentes y consolida los DataFrames juntos.

  Fragmento de código de Jupyter Notebook

Cómo usar la función Concat

los concat La función es una opción flexible en comparación con algunas de las otras funciones de combinación de Python. Con la función concat, puede combinar DataFrames vertical y horizontalmente.

Sin embargo, el inconveniente de utilizar esta función es que descarta cualquier valor que no coincida de forma predeterminada. Como algunas otras funciones relacionadas, esta función tiene algunos argumentos, de los cuales solo unos pocos son esenciales para una concatenación exitosa.

concat(dataframes, axis=0, join='outer'/inner)

Dónde:

  • concat es la función que une DataFrames.
  • marcos de datos es una secuencia de DataFrames para concatenar.
  • eje representa la dirección de concatenación, siendo 0 horizontal y 1 vertical.
  • unirse especifica una combinación externa o interna.

Usando los dos DataFrames anteriores, puede probar la función concat de la siguiente manera:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

La ausencia de los argumentos de eje y unión en el código anterior combina los dos conjuntos de datos. La salida resultante tiene todas las entradas, independientemente del estado de coincidencia.

De manera similar, puede usar argumentos adicionales para controlar la dirección y la salida de la función concat.

Para controlar la salida con todas las entradas coincidentes:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

El resultado contiene todos los valores coincidentes entre los dos DataFrames únicamente.

  Fragmento de código de Jupyter Notebook

Fusionando tramas de datos con Python

Los DataFrames son una parte integral de Python, considerando su flexibilidad y funcionalidad. Dados sus usos multifacéticos, puede usarlos ampliamente para realizar una variedad de tareas con la mayor facilidad.

Si aún está aprendiendo sobre Python DataFrames, intente importar algunos archivos de Excel y luego combínelos con diferentes enfoques.