Il modulo Pandas contiene varie funzionalità per eseguire varie operazioni su Dataframe come unire, concatenare, eliminare, aggiungere, ecc. In questo articolo discuteremo i vari tipi di operazioni di unione che possono essere eseguite su Pandas Dataframe. Sono disponibili cinque tipi di join Panda .
- Unione interna
- Unione esterna sinistra
- Giunzione esterna destra
- Full Outer Join o semplicemente Outer Join
- Indice Unisciti
Per comprendere i diversi tipi di join, creeremo prima due DataFrames, vale a dire UN E B .
Dataframe 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> |
>
>
Produzione:
DataFrame b:
Python3
ordina un arraylist in Java
# 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> |
>
>
Produzione:
Tipi di join nei panda
Utilizzeremo questi due Dataframe per comprendere i diversi tipi di join.
Panda Unione interna
Il join interno è il tipo di join più comune con cui lavorerai. Restituisce un Dataframe con solo le righe che hanno caratteristiche comuni. Questo è simile all'intersezione di due insiemi.
Esempio:
Python3
parola chiave statica in 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> |
>
>
Produzione:

Panda Partecipa a sinistra
Con un left external join, verranno visualizzati tutti i record del primo Dataframe, indipendentemente dal fatto che le chiavi del primo Dataframe possano essere trovate nel secondo Dataframe. Per il secondo Dataframe, invece, verranno visualizzati solo i record con le chiavi del secondo Dataframe che si trovano nel primo Dataframe.
Esempio:
Python3
elenco di creazione 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)> # left outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'left'>)> # display dataframe> df> |
>
>
Produzione:

Panda Giunzione esterna destra
Per un'unione a destra, verranno visualizzati tutti i record del secondo Dataframe. Tuttavia, verranno visualizzati solo i record con le chiavi nel primo Dataframe che possono essere trovati nel secondo Dataframe.

Esempio:
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> |
>
>
Produzione:
int parseint

Panda Join esterno completo
Un full external join restituisce tutte le righe del Dataframe sinistro e tutte le righe del Dataframe destro e abbina le righe, ove possibile, con NaN altrove. Ma se il Dataframe è completo, otteniamo lo stesso output.

Esempio:
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> |
>
>
Produzione:

Partecipa all'indice dei panda
Per unire il Dataframe sugli indici passare il file indice_sinistra E indice_destro argomenti come True, ovvero entrambi i Dataframe vengono uniti su un indice utilizzando l'Inner Join predefinito.
Python3
età del dharmendra
# 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> |
>
>
Produzione:
