Modulul Pandas conține diverse caracteristici pentru a efectua diverse operațiuni pe Dataframes-ul, cum ar fi alăturarea, concatenarea, ștergerea, adăugarea etc. În acest articol, vom discuta despre diferitele tipuri de operațiuni de alăturare care pot fi efectuate pe Pandas. Cadrul de date. Există cinci tipuri de Joinuri panda .
- Inner Join
- Left Outer Join
- Uniunea exterioară dreaptă
- Full Outer Join sau pur și simplu Outer Join
- Index Join
Pentru a înțelege diferitele tipuri de îmbinări, vom face mai întâi două DataFrames, și anume A și b .
Cadrul de date 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> |
>
>
Ieșire:
DataFrame 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> |
>
sortați o listă de matrice în java
>
Ieșire:
Tipuri de îmbinări în Pandas
Vom folosi aceste două cadre de date pentru a înțelege diferitele tipuri de îmbinări.
panda Inner Join
Alăturarea interioară este cel mai comun tip de alăturare cu care veți lucra. Returnează un Dataframe cu doar acele rânduri care au caracteristici comune. Aceasta este similară cu intersecția a două mulțimi.
Exemplu:
o serie de obiecte java
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)> # inner join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'inner'>)> # display dataframe> df> |
>
>
Ieșire:

panda Left Join
Cu o îmbinare exterioară stângă, vor fi afișate toate înregistrările din primul Dataframe, indiferent dacă cheile din primul Dataframe pot fi găsite în al doilea Dataframe. În timp ce, pentru al doilea Dataframe, vor fi afișate doar înregistrările cu cheile din al doilea Dataframe care pot fi găsite în primul Dataframe.
Exemplu:
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> |
>
>
Ieșire:

panda Uniunea exterioară dreaptă
Pentru o unire corectă, vor fi afișate toate înregistrările din cel de-al doilea Dataframe. Totuși, vor fi afișate numai înregistrările cu cheile din primul Dataframe care pot fi găsite în al doilea Dataframe.

Exemplu:
Python3
script de descărcare javascript
# 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> |
>
>
Ieșire:

panda Unire exterioară completă
O îmbinare exterioară completă returnează toate rândurile din cadrul de date din stânga și toate rândurile din cadrul de date din dreapta și potrivește rândurile acolo unde este posibil, cu NaN-uri în altă parte. Dar dacă Dataframe-ul este complet, atunci obținem aceeași ieșire.

Exemplu:
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> |
>
>
Ieșire:

Indexul Pandas Alăturați-vă
Pentru a îmbina Dataframe pe indici, treceți index_stânga și dreapta_index argumentele ca True, adică ambele cadre de date sunt îmbinate pe un index folosind Inner Join implicit.
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> |
int parseint
>
>
Ieșire:
