logo

Olika typer av sammanfogningar i pandor

Pandas-modulen innehåller olika funktioner för att utföra olika operationer på Dataframes som join, concatenate, delete, add, etc. I den här artikeln kommer vi att diskutera de olika typerna av join-operationer som kan utföras på Pandas Dataram. Det finns fem typer av Joins in Pandas .

  • Inre koppling
  • Vänster yttre fog
  • Höger yttre fog
  • Full Outer Join eller helt enkelt Outer Join
  • Index Gå med

För att förstå olika typer av sammanfogningar kommer vi först att göra två DataFrames, nämligen a och b .



Dataram 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>

>

>

Produktion:

java tostring

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>

>

>

Produktion:

Typer av sammanfogningar i pandor

Vi kommer att använda dessa två Dataframes för att förstå de olika typerna av kopplingar.

Pandas Inre koppling

Inner join är den vanligaste typen av sammanfogning du kommer att arbeta med. Den returnerar en dataram med endast de rader som har gemensamma egenskaper. Detta liknar skärningspunkten mellan två uppsättningar.

Pandas Inner Join

Exempel:

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>

>

>

Produktion:

Pandas Vänster Gå med

Med en vänster yttre koppling kommer alla poster från den första Dataframen att visas, oavsett om nycklarna i den första Dataframen kan hittas i den andra Dataframen. För den andra dataramen kommer endast posterna med nycklarna i den andra dataramen som kan hittas i den första dataramen att visas.

vänster-join Exempel:

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>

>

>

Produktion:

Pandas Höger yttre fog

För en högerkoppling kommer alla poster från den andra Dataframe att visas. Däremot kommer endast de poster med nycklarna i den första Dataframen som kan hittas i den andra Dataframen att visas.

Pandas höger yttre skarv

fil öppen i java

Exempel:

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>

>

>

Produktion:

Pandas Full Outer Join

En fullständig yttre koppling returnerar alla rader från den vänstra dataramen, och alla rader från den högra dataramen, och matchar upp rader där det är möjligt, med NaNs någon annanstans. Men om Dataframe är komplett får vi samma utdata.

Pandas Full Outer Join

Exempel:

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>

>

>

Produktion:

Pandas Index Gå med

För att slå samman Dataframe på index passerar left_index och right_index argument som True, dvs båda dataramarna slås samman i ett index med standardinre koppling.

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>

>

>

Produktion: