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.
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.
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.

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.

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:
