¿Cómo unirse a Pandas DataFrames usando Merge?

Unir y fusionar DataFrames es el proceso central para comenzar con el análisis de datos y las tareas de aprendizaje automático. Es uno de los conjuntos de herramientas que todo analista de datos o científico de datos debe dominar porque, en la mayoría de los casos, los datos provienen de múltiples fuentes y archivos. En este tutorial, aprenderá cómo unir marcos de datos en pandas utilizando la técnica de combinación. Más específicamente, practicaremos la concatenación de DataFrames a lo largo de fila y columna.

Empezando

La operación más utilizada relacionada con DataFrames es la operación de fusión. Dos marcos de datos pueden contener diferentes tipos de información sobre la misma entidad y pueden tener algunas columnas iguales, por lo que debemos combinar los dos marcos de datos en pandas para obtener un mejor código de confiabilidad. Para unir estos DataFrames, pandas proporciona varias funciones como join(), concat(), merge(), etc. En esta sección, practicará el uso de la función merge() de pandas. Hay básicamente cuatro métodos de fusión:

  • unir internamente
  • unión externa
  • unirse a la derecha
  • unir a la izquierda

Unir internamente

Por el nombre en sí, es bastante claro que la combinación interna mantiene las filas donde existe el valor de combinación «activado» en los marcos de datos izquierdo y derecho. Ahora vamos a crear dos marcos de datos y luego intentar fusionarlos usando inner. 

Python3

import numpy as np
import pandas as pd
 
 
left = pd.DataFrame({'Sr.no': ['1', '2', '3', '4', '5'],
                    'Name': ['Rashmi', 'Arun', 'John',
                             'Kshitu', 'Bresha'],
                    'Roll No': ['1', '2', '3', '4', '5']})
 
right = pd.DataFrame({'Sr.no': ['2', '4', '6', '7', '8'],
                    'Gender': ['F', 'M', 'M', 'F', 'F'],
                    'Interest': ['Writing', 'Cricket', 'Dancing',
                                 'Chess', 'Sleeping']})
                         
# Merging the dataframes                    
pd.merge(left, right, how ='inner', on ='Sr.no')

Producción:

Unión exterior

Una combinación externa devuelve todas las filas del marco de datos de la izquierda, todas las filas del marco de datos de la derecha y, en la medida de lo posible, hace coincidir las filas con NaN en otros lugares. Pero si el marco de datos está completo, obtenemos el mismo resultado. 

Python3

import numpy as np
import pandas as pd
 
 
left = pd.DataFrame({'Sr.no': ['1', '2', '3', '4', '5'],
                    'Name': ['Rashmi', 'Arun', 'John',
                             'Kshitu', 'Bresha'],
                    'Roll No': ['1', '2', '3', '4', '5']})
 
right = pd.DataFrame({'Sr.no': ['2', '4', '6', '7', '8'],
                    'Gender': ['F', 'M', 'M', 'F', 'F'],
                    'Interest': ['Writing', 'Cricket', 'Dancing',
                                 'Chess', 'Sleeping']})
                         
# Merging the dataframes                    
pd.merge(left, right, how ='outer', on ='Sr.no')

Producción:

Unirse a la izquierda

Con una combinación izquierda, se mostrarán todos los registros del primer marco de datos, independientemente de si las claves del primer marco de datos se pueden encontrar en el segundo marco de datos. Mientras que, para el segundo marco de datos, solo se mostrarán los registros con las claves en el segundo marco de datos que se pueden encontrar en el primer marco de datos. 

Python3

import numpy as np
import pandas as pd
 
 
left = pd.DataFrame({'Sr.no': ['1', '2', '3', '4', '5'],
                    'Name': ['Rashmi', 'Arun', 'John',
                             'Kshitu', 'Bresha'],
                    'Roll No': ['1', '2', '3', '4', '5']})
 
right = pd.DataFrame({'Sr.no': ['2', '4', '6', '7', '8'],
                    'Gender': ['F', 'M', 'M', 'F', 'F'],
                    'Interest': ['Writing', 'Cricket',
                                 'Dancing', 'Chess',
                                 'Sleeping']})
                         
# Merging the dataframes                    
pd.merge(left, right, how ='left', on ='Sr.no')

Salida: Tenga en cuenta la salida con cuidado.

Unirse a la derecha

Para una unión a la derecha, se mostrarán todos los registros del segundo marco de datos. Sin embargo, solo se mostrarán los registros con las claves en el primer marco de datos que se pueden encontrar en el segundo marco de datos. 

Python3

import numpy as np
import pandas as pd
 
 
left = pd.DataFrame({'Sr.no': ['1', '2', '3', '4', '5'],
                    'Name': ['Rashmi', 'Arun', 'John',
                             'Kshitu', 'Bresha'],
                    'Roll No': ['1', '2', '3', '4', '5']})
 
right = pd.DataFrame({'Sr.no': ['2', '4', '6', '7', '8'],
                    'Gender': ['F', 'M', 'M', 'F', 'F'],
                    'Interest': ['Writing', 'Cricket', 'Dancing',
                                 'Chess', 'Sleeping']})
                         
# Merging the dataframes                    
pd.merge(left, right, how ='right', on ='Sr.no')

Producción:

Publicación traducida automáticamente

Artículo escrito por rutujakawade24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *