logo

Diversi tipi di join nei Panda

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.

Unione interna dei panda

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.

unione a sinistra 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.

I panda si uniscono all'esterno destro

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.

Unione esterna completa dei panda

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: