logo

Rôzne typy spojení v Pandas

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.

Vnútorné spojenie Pandy

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.

ľavé spojenie 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.

Pandas Right Outer Join

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.

Pandas Full Outer Join

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: