logo

Įvairūs pandų sujungimų tipai

Pandas modulyje yra įvairių funkcijų, leidžiančių atlikti įvairias operacijas duomenų rėmeliuose, pvz., prisijungti, sujungti, ištrinti, pridėti ir tt Šiame straipsnyje aptarsime įvairių tipų sujungimo operacijas, kurias galima atlikti naudojant Pandas. Duomenų rėmelis. Yra penki prisijungimų tipai Pandos .

int eilutėje java
  • Vidinis prisijungimas
  • Kairė išorinė jungtis
  • Dešinysis išorinis sujungimas
  • Visas išorinis prisijungimas arba tiesiog išorinis prisijungimas
  • Indeksas Prisijunkite

Norėdami suprasti skirtingus sujungimų tipus, pirmiausia sukursime du duomenų rėmelius, būtent a ir b .



Duomenų rėmelis 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>

>

>

Išvestis:

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>

>

>

Išvestis:

Pandų sujungimų tipai

Mes naudosime šiuos du duomenų rėmelius, kad suprastume skirtingus sujungimų tipus.

Pandos Vidinis prisijungimas

Vidinis sujungimas yra labiausiai paplitęs sujungimo tipas, su kuriuo dirbsite. Jis grąžina duomenų rėmelį tik su tomis eilutėmis, kurios turi bendrų savybių. Tai panašu į dviejų rinkinių sankirtą.

Pandos vidinis prisijungimas

Pavyzdys:

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>

>

>

Išvestis:

Pandos Kairė prisijungti

Kai išorinis sujungimas yra kairysis, bus rodomi visi pirmojo duomenų rėmelio įrašai, neatsižvelgiant į tai, ar raktus pirmame duomenų rėmelyje galima rasti antrajame duomenų rėmelyje. Tuo tarpu antrojo duomenų rėmelio atveju bus rodomi tik įrašai su raktais antrojo duomenų rėmelio, kuriuos galima rasti pirmajame duomenų rėmelyje.

kairysis-prisijungti Pavyzdys:

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>

>

>

Išvestis:

Pandos Dešinysis išorinis sujungimas

Teisingam sujungimui bus rodomi visi antrojo duomenų rėmelio įrašai. Tačiau bus rodomi tik įrašai su raktais pirmame duomenų rėmelyje, kuriuos galima rasti antrajame duomenų rėmelyje.

Pandos dešinysis išorinis jungtis

Pavyzdys:

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>

>

>

Išvestis:

Pandos Pilnas išorinis prisijungimas

Pilnas išorinis sujungimas grąžina visas eilutes iš kairiojo duomenų rėmelio ir visas eilutes iš dešiniojo duomenų rėmelio ir, kur įmanoma, suderina eilutes su NaN kitur. Bet jei duomenų rėmelis baigtas, gauname tą pačią išvestį.

„Panda“ visas išorinis prisijungimas

Pavyzdys:

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>

java lambda išraiškos

>

>

Išvestis:

Prisijunkite prie Pandos indekso

Norėdami sujungti indeksų duomenų rėmelį, pereikite left_index ir dešinysis_indeksas argumentai yra teisingi, t. y. abu duomenų rėmeliai sujungiami indekse naudojant numatytąjį vidinį sujungimą.

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>

>

>

Išvestis: