logo

Diferentes tipos de uniones en Pandas

El módulo Pandas contiene varias características para realizar diversas operaciones en Dataframes como unir, concatenar, eliminar, agregar, etc. En este artículo, analizaremos los distintos tipos de operaciones de unión que se pueden realizar en Pandas. Marco de datos. Hay 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:

derivado parcial de látex

Tipos de uniones en Pandas

Usaremos estos dos marcos de datos para comprender los diferentes tipos de uniones.

pandas Unir internamente

La unión interna es el tipo de unión más común con el que trabajará. Devuelve un Dataframe con sólo aquellas filas que tienen características comunes. Esto es similar a la intersección de dos conjuntos.

Unión interna de pandas

Ejemplo:

Python3




pitón reducir
# 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:

pandas Unirse a la izquierda

Con una unión externa 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 Dataframe, solo se mostrarán los registros con las claves en el segundo Dataframe que se pueden encontrar en el primer Dataframe.

unión izquierda 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:

pandas Unión exterior derecha

Para una unión correcta, 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 Dataframe que se pueden encontrar en el segundo Dataframe.

Unión exterior derecha de Pandas

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:

pandas Unión externa completa

Una unión externa completa devuelve todas las filas del marco de datos izquierdo y todas las filas del marco de datos derecho, y hace coincidir filas siempre que sea posible, con NaN en otros lugares. Pero si el marco de datos está completo, obtenemos el mismo resultado.

Unión exterior completa de Pandas

Ejemplo:

Python3




'algoritmo de Kruskal'
# 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:

Únete al índice Pandas

Para fusionar el marco de datos en índices, pase el índice_izquierdo y índice_derecho argumentos como Verdadero, es decir, ambos marcos de datos se fusionan en un índice utilizando la combinación interna predeterminada.

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: