Modul Pandas vsebuje različne funkcije za izvajanje različnih operacij na podatkovnih okvirih, kot so združevanje, združevanje, brisanje, dodajanje itd. V tem članku bomo razpravljali o različnih vrstah operacij združevanja, ki jih je mogoče izvesti na Pandas Dataframe. Obstaja pet vrst pridružitev Pande .
- Notranja pridružitev
- Levi zunanji spoj
- Desni zunanji spoj
- Full Outer Join ali preprosto Outer Join
- Kazalo Pridružite se
Da bi razumeli različne vrste združevanj, bomo najprej naredili dva podatkovna okvira, in sicer a in b .
Podatkovni okvir 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> |
>
>
Izhod:
DataFrame b:
Python3
razvrščanje arraylist 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> |
>
>
Izhod:
Vrste združevanj v Pandas
Ta dva podatkovna okvira bomo uporabili za razumevanje različnih vrst združevanj.
Pande Notranja pridružitev
Notranja združitev je najpogostejša vrsta združitve, s katero boste delali. Vrne Dataframe samo s tistimi vrsticami, ki imajo skupne značilnosti. To je podobno preseku dveh množic.
primer:
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> |
>
>
Izhod:

Pande Levo Pridružite se
Z levim zunanjim združevanjem bodo prikazani vsi zapisi iz prvega podatkovnega okvira, ne glede na to, ali je ključe v prvem podatkovnem okvirju mogoče najti v drugem podatkovnem okvirju. Medtem ko bodo za drugi podatkovni okvir prikazani samo zapisi s ključi v drugem podatkovnem okvirju, ki jih je mogoče najti v prvem podatkovnem okvirju.
primer:
Python3
vadnica za javafx
# 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> |
>
>
Izhod:

Pande Desni zunanji spoj
Za desno združevanje bodo prikazani vsi zapisi iz drugega okvira podatkov. Vendar pa bodo prikazani samo zapisi s ključi v prvem podatkovnem okvirju, ki jih je mogoče najti v drugem podatkovnem okvirju.

primer:
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> |
>
>
Izhod:

Pande Popoln zunanji spoj
Popolno zunanje združevanje vrne vse vrstice iz levega okvira podatkov in vse vrstice iz desnega okvira podatkov ter ujema vrstice, kjer je to mogoče, z NaN-ji drugje. Toda če je podatkovni okvir dokončan, dobimo enak rezultat.

primer:
Python3
razvrščanje na seznamu v Javi
# 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> |
>
>
Izhod:

Pandas Index Pridružite se
Če želite združiti podatkovni okvir na indeksih, prenesite levi_indeks in desni_indeks argumenti kot True, tj. oba podatkovna okvirja sta združena v indeks s privzetim notranjim združevanjem.
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> |
>
>
Izhod:
