logo

Cómo combinar dos marcos de datos en Python - Pandas

pandas

Pandas es una biblioteca incorporada en Python que se utiliza para trabajar con datos relacionales en el lenguaje de programación Python. Tiene muchas funciones y estructuras de datos que ayudan en las operaciones de datos relacionales.

Si los datos se almacenan en forma de filas y columnas o datos bidimensionales, generalmente se denominan marcos de datos en pandas.

Si tenemos dos marcos de datos, con la ayuda de pandas, podemos combinarlos o fusionarlos en un solo marco de datos. Pandas proporciona la lógica establecida para combinar los datos de dos marcos de datos diferentes, así como la lógica para compararlos.

1. Usando la función concat()

En Python, podemos concatenar los dos marcos de datos con la ayuda de la función concat() de Pandas. Podemos concatenar los datos por filas o por columnas. Esta función fusiona los datos en un eje (fila o columna) y realiza la lógica establecida en otro eje (otro índice).

Ejemplo:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

Producción:

Cómo combinar dos marcos de datos en Python - Pandas

Explicación:

En el código anterior, primero importamos la biblioteca Pandas en el archivo. Luego, creamos los dos marcos de datos donde cada marco de datos contiene tres columnas y cuatro filas. Luego usamos la función concat, que concatena estos dos marcos de datos en filas, y con la función de visualización, imprimimos esto en la pantalla.

2. Usar uniones en pandas

Hemos entendido el concepto de uniones en la base de datos donde unimos las dos tablas en función de algún atributo común. El mismo método es aplicable en la concatenación de marcos de datos. En el método concat() simple, fusionamos todas las filas entre sí y creamos el nuevo marco de datos. En la combinación, definimos qué tipo de combinación queremos realizar en la mesa, si es una combinación interna o una combinación externa. Cualquier tipo de unión, ya sea interna (intersección) o externa (unión), se definirá en el atributo de unión.

Ejemplo:

hola mundo java
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

Producción:

Cómo combinar dos marcos de datos en Python - Pandas

Explicación:

En el código anterior, tenemos dos daraframes que contienen dos columnas y cuatro filas. Ambos marcos de datos tienen nombres de columna diferentes y, en la función concat(), hemos utilizado la unión interna, que toma la parte de intersección.

En el atributo del eje, hemos inicializado el valor uno, por lo que obtuvimos todos los datos.

Ejemplo:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Producción:

seleccionar entre varias tablas sql
Cómo combinar dos marcos de datos en Python - Pandas

Como no hay un atributo común y se aplicó la combinación interna, obtuvimos un marco de datos vacío como salida. Si hay un atributo común en ambos marcos de datos:

Ejemplo:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Producción:

Cómo combinar dos marcos de datos en Python - Pandas

Explicación:

En el código anterior, tenemos un atributo, 'id', que es común, por lo que el marco de datos se crea basándose únicamente en atributos comunes.

3. Usando el método append()

En lugar del método concat(), podemos usar el método append(). Este método append() se aplica a uno de los marcos de datos.

Ejemplo:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

Producción:

Cómo combinar dos marcos de datos en Python - Pandas

Explicación:

En el código anterior, hemos fusionado dos marcos de datos utilizando el método append.