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ą.
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.
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.

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į.

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:
