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

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.

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:
