El módulo pandas contiene varias funciones para realizar varias operaciones en marcos de datos como unir, concatenar, eliminar, agregar, etc. En este artículo, vamos a discutir los diversos tipos de operaciones de unión que se pueden realizar en el marco de datos de pandas . Hay principalmente cinco tipos de Uniones en Pandas:
- Unir internamente
- Izquierda combinación externa
- Unión exterior derecha
- Unión externa completa o simplemente unión externa
- Unirse al índice
Para comprender los diferentes tipos de uniones, primero crearemos dos DataFrames, a saber, a y b .
Marco de datos a:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # printing the dataframe a
Producción:
Marco de datos b:
Python3
# importing pandas import pandas as pd # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # printing the dataframe b
Producción:
Usaremos estos dos marcos de datos para comprender los diferentes tipos de uniones.
- Unión interna: la unión interna es el tipo de unión más común con el que trabajará. Devuelve un marco de datos con solo aquellas filas que tienen características comunes. Esto es similar a la intersección de dos conjuntos.
Ejemplo:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # inner join df = pd.merge(a, b, on='id', how='inner') # display dataframe df
Producción:
- Izquierda combinación externa:
Ejemplo:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # left outer join df = pd.merge(a, b, on='id', how='left') # display dataframe df
Producción:
- Unión exterior derecha:
Ejemplo:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # right outer join df = pd.merge(a, b, on='id', how='right') # display dataframe df
Producción:
- Unión exterior completa:
Ejemplo:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # full outer join df = pd.merge(a, b, on='id', how='outer') # display dataframe df
Producción:
- Unión de índices : para fusionar el marco de datos en los índices, pase los argumentos índice_izquierdo y índice_derecho como Verdadero, es decir, ambos marcos de datos se fusionan en un índice utilizando la unión interna predeterminada.
Ejemplo:
Python3
# importing pandas import pandas as pd # Creating dataframe a a = pd.DataFrame() # Creating Dictionary d = {'id': [1, 2, 10, 12], 'val1': ['a', 'b', 'c', 'd']} a = pd.DataFrame(d) # Creating dataframe b b = pd.DataFrame() # Creating dictionary d = {'id': [1, 2, 9, 8], 'val1': ['p', 'q', 'r', 's']} b = pd.DataFrame(d) # index join df = pd.merge(a, b, left_index=True, right_index=True) # display dataframe df
Producción: