Diferentes tipos de uniones en Pandas

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:

Publicación traducida automáticamente

Artículo escrito por pawki 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 *