Le module Pandas contient diverses fonctionnalités pour effectuer diverses opérations sur des Dataframes comme joindre, concaténer, supprimer, ajouter, etc. Dans cet article, nous allons discuter des différents types d'opérations de jointure qui peuvent être effectuées sur Pandas. Trame de données. Il existe cinq types de jointures dans Pandas .
- Jointure interne
- Jointure externe gauche
- Jointure externe droite
- Jointure externe complète ou simplement jointure externe
- Joindre un index
Pour comprendre les différents types de jointures, nous allons d'abord réaliser deux DataFrames, à savoir un et b .
Trame de données a :
réseau et types de réseau
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> |
>
>
Sortir:
DataFrameb :
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> |
>
>
Sortir:
Types de jointures dans Pandas
Nous utiliserons ces deux Dataframes pour comprendre les différents types de jointures.
Pandas Jointure interne
La jointure interne est le type de jointure le plus courant avec lequel vous travaillerez. Il renvoie un Dataframe avec uniquement les lignes ayant des caractéristiques communes. Ceci est similaire à l’intersection de deux ensembles.
Exemple:
Python3
obj en java
# 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> |
>
>
Sortir:

Pandas Joint gauche
Avec une jointure externe gauche, tous les enregistrements de la première Dataframe seront affichés, que les clés de la première Dataframe se trouvent ou non dans la seconde Dataframe. Alors que, pour le deuxième Dataframe, seuls les enregistrements avec les clés du deuxième Dataframe qui se trouvent dans le premier Dataframe seront affichés.
Exemple:
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> |
>
>
Sortir:

Pandas Jointure externe droite
Pour une jointure à droite, tous les enregistrements de la deuxième Dataframe seront affichés. Cependant, seuls les enregistrements avec les clés de la première Dataframe qui peuvent être trouvées dans la deuxième Dataframe seront affichés.

Exemple:
Python3
Actrice Rakul Preet Singh
# 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> |
>
>
Sortir:

Pandas Jointure externe complète
Une jointure externe complète renvoie toutes les lignes du Dataframe de gauche et toutes les lignes du Dataframe de droite, et fait correspondre les lignes lorsque cela est possible, avec des NaN ailleurs. Mais si le Dataframe est complet, nous obtenons le même résultat.

Exemple:
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> |
>
>
Sortir:

Rejoindre l’index Pandas
Pour fusionner le Dataframe sur les indices, passez le index_gauche et index_droit arguments comme True, c'est-à-dire que les deux Dataframes sont fusionnés sur un index en utilisant la jointure interne par défaut.
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> |
>
>
logique propositionnelle
Sortir:
