Modul Pandas obsahuje rôzne funkcie na vykonávanie rôznych operácií na dátových rámcoch, ako je spojenie, zreťazenie, odstránenie, pridanie atď. V tomto článku budeme diskutovať o rôznych typoch operácií spojenia, ktoré je možné vykonať na zariadeniach Pandas. Dataframe. Existuje päť typov spojení pandy .
- Vnútorné spojenie
- Ľavý vonkajší spoj
- Pravé vonkajšie spojenie
- Úplné vonkajšie spojenie alebo jednoducho vonkajšie spojenie
- Indexové pripojenie
Aby sme pochopili rôzne typy spojení, najprv vytvoríme dva DataFrame, a to a a b .
Dátový rámec 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> |
>
>
Výkon:
vek peta davidsona
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> |
>
>
Výkon:
Typy spojení v Pandas
Tieto dva dátové rámce použijeme na pochopenie rôznych typov spojení.
pandy Vnútorné spojenie
Vnútorné spojenie je najbežnejším typom spojenia, s ktorým budete pracovať. Vracia Dataframe iba s tými riadkami, ktoré majú spoločné charakteristiky. Je to podobné ako pri priesečníku dvoch množín.
Príklad:
Python3
ako nájdem skryté aplikácie v systéme Android
# 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> |
>
>
Výkon:

pandy Ľavé pripojenie
Pri ľavom vonkajšom spojení sa zobrazia všetky záznamy z prvého dátového rámca bez ohľadu na to, či kľúče v prvom dátovom rámci možno nájsť v druhom dátovom rámci. Zatiaľ čo pre druhý Dataframe sa zobrazia iba záznamy s kľúčmi v druhom Dataframe, ktoré možno nájsť v prvom Dataframe.
Príklad:
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> |
>
>
Výkon:

pandy Pravé vonkajšie spojenie
Pri správnom spojení sa zobrazia všetky záznamy z druhého dátového rámca. Zobrazia sa však iba záznamy s kľúčmi v prvom Dataframe, ktoré možno nájsť v druhom Dataframe.

Príklad:
Python3
porovnateľná java
# 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> |
>
>
Výkon:

pandy Úplné vonkajšie spojenie
Úplné vonkajšie spojenie vráti všetky riadky z ľavého dátového rámca a všetky riadky z pravého dátového rámca a podľa možnosti zhoduje riadky s NaN inde. Ale ak je Dataframe kompletný, potom dostaneme rovnaký výstup.

Príklad:
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> |
>
>
ak a inak v bash
Výkon:

Pripojte sa k indexu Pandas
Ak chcete zlúčiť Dataframe na indexoch, prejdite left_index a pravý_index argumenty ako True, t.j. oba dátové rámce sú zlúčené do indexu pomocou predvoleného vnútorného spojenia.
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> |
>
>
Výkon:
