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