El mòdul Pandas conté diverses funcions per realitzar diverses operacions en Dataframes com unir, concatenar, suprimir, afegir, etc. En aquest article, parlarem dels diferents tipus d'operacions d'unió que es poden realitzar a Pandas. Marc de dades. Hi ha cinc tipus d'unions Pandes .
- Combinació interna
- Unió exterior esquerra
- Unió exterior dreta
- Unió externa completa o simplement unió externa
- Unir-se a l'índex
Per entendre els diferents tipus d'unions, primer farem dos DataFrames, és a dir a i b .
Marc de dades a:
Python 3
# 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> |
>
>
Sortida:
DataFrame b:
Python 3
# 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> |
>
>
Sortida:
variable java variable
Tipus d'unions a Pandas
Utilitzarem aquests dos marcs de dades per entendre els diferents tipus d'unions.
Pandes Combinació interna
La unió interna és el tipus d'unió més comú amb què treballareu. Retorna un Dataframe amb només aquelles files que tenen característiques comunes. Això és similar a la intersecció de dos conjunts.
Exemple:
Python 3
unió de cadena 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)> # inner join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'inner'>)> # display dataframe> df> |
>
>
Sortida:

Pandes Uneix-te a l'esquerra
Amb una unió exterior esquerra, es mostraran tots els registres del primer Dataframe, independentment de si les claus del primer Dataframe es poden trobar al segon Dataframe. Mentre que, per al segon Dataframe, només es mostraran els registres amb les claus del segon Dataframe que es poden trobar al primer Dataframe.
Exemple:
Python 3
# 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> |
>
>
Sortida:

Pandes Unió exterior dreta
Per a una unió correcta, es mostraran tots els registres del segon Dataframe. Tanmateix, només es mostraran els registres amb les claus del primer Dataframe que es poden trobar al segon Dataframe.

Exemple:
Python 3
# 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> |
>
>
Sortida:

Pandes Unió exterior completa
Una unió externa completa retorna totes les files del Dataframe esquerre i totes les files del Dataframe dret, i fa coincidir les files sempre que sigui possible, amb NaNs d'altres llocs. Però si el Dataframe està complet, obtenim la mateixa sortida.

Exemple:
Python 3
np punt
# 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> |
>
>
Sortida:

Uneix-te a l'índex Pandas
Per combinar el Dataframe als índexs, passeu el índex_esquerra i índex_dret arguments com a True, és a dir, tots dos Dataframes es fusionen en un índex mitjançant Inner Join predeterminat.
Python 3
# 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> |
>
>
Sortida:
