logo

Različne vrste združevanj v Pandas

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.

Pandas Inner Join

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.

levo-pridruži se 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.

Pandas Right Outer Join

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.

Pandas Full Outer Join

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: