Modul Pandas vsebuje različne funkcije za izvajanje različnih operacij na podatkovnih okvirih, kot so združevanje, združevanje, brisanje, dodajanje itd. V tem članku bomo razpravljali o različnih vrstah operacij združevanja, ki jih je mogoče izvesti na Pandas Dataframe. Obstaja pet vrst pridružitev Pande .
- Notranja pridružitev
- Levi zunanji spoj
- Desni zunanji spoj
- Full Outer Join ali preprosto Outer Join
- Kazalo Pridružite se
Da bi razumeli različne vrste združevanj, bomo najprej naredili dva podatkovna okvira, in sicer a in b .
Podatkovni okvir 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> |
>
>
Izhod:

DataFrame b:
Python3
razvrščanje arraylist java
# 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> |
>
>
Izhod:

Vrste združevanj v Pandas
Ta dva podatkovna okvira bomo uporabili za razumevanje različnih vrst združevanj.
Pande Notranja pridružitev
Notranja združitev je najpogostejša vrsta združitve, s katero boste delali. Vrne Dataframe samo s tistimi vrsticami, ki imajo skupne značilnosti. To je podobno preseku dveh množic.

primer:
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> |
>
>
Izhod:
Pande Levo Pridružite se
Z levim zunanjim združevanjem bodo prikazani vsi zapisi iz prvega podatkovnega okvira, ne glede na to, ali je ključe v prvem podatkovnem okvirju mogoče najti v drugem podatkovnem okvirju. Medtem ko bodo za drugi podatkovni okvir prikazani samo zapisi s ključi v drugem podatkovnem okvirju, ki jih je mogoče najti v prvem podatkovnem okvirju.
primer:
Python3
vadnica za javafx
# 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> |
>
>
Izhod:
Pande Desni zunanji spoj
Za desno združevanje bodo prikazani vsi zapisi iz drugega okvira podatkov. Vendar pa bodo prikazani samo zapisi s ključi v prvem podatkovnem okvirju, ki jih je mogoče najti v drugem podatkovnem okvirju.
primer:
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> |
>
>
Izhod:
Pande Popoln zunanji spoj
Popolno zunanje združevanje vrne vse vrstice iz levega okvira podatkov in vse vrstice iz desnega okvira podatkov ter ujema vrstice, kjer je to mogoče, z NaN-ji drugje. Toda če je podatkovni okvir dokončan, dobimo enak rezultat.
primer:
Python3
razvrščanje na seznamu v Javi
# 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> |
>
>
Izhod:
Pandas Index Pridružite se
Če želite združiti podatkovni okvir na indeksih, prenesite levi_indeks in desni_indeks argumenti kot True, tj. oba podatkovna okvirja sta združena v indeks s privzetim notranjim združevanjem.
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> |
>
>
Izhod: