Pande sjediniti() definira se kao proces spajanja dvaju skupova podataka u jedan i usklađivanja redaka na temelju zajedničkih atributa ili stupaca. To je ulazna točka za sve standardne operacije spajanja baze podataka između DataFrame objekata:
Sintaksa:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Parametri:
- 'one_to_one' ili '1:1': Provjerava jesu li ključevi spajanja jedinstveni u lijevom i desnom skupu podataka.
- 'one_to_many' ili '1:m': Provjerava jesu li ključevi spajanja jedinstveni samo u lijevom skupu podataka.
- 'many_to_one' ili 'm:1': Provjerava jesu li ključevi spajanja jedinstveni samo u pravom skupu podataka.
- 'many_to_many' ili 'm:m': Dopušteno je, ali ne rezultira provjerama.
To je objekt koji se stapa s DataFrameom.
Vrsta spajanja koja će se izvršiti.
To su imena stupca ili razine indeksa kojima se treba pridružiti. Mora se pronaći iu lijevom iu desnom DataFramesu. Ako je uključeno Ništa i nema spajanja indeksa, tada je ovo zadano sjecište stupaca u oba DataFramea.
ostaviti: oznaka ili popis, ili nalik nizu
To su nazivi razine stupca ili indeksa iz lijevog DataFramea koji se koriste kao ključ. To može biti polje čija je duljina jednaka duljini DataFramea.
To su nazivi razine stupaca ili indeksa iz desnog DataFramea koji se koriste kao ključevi. To može biti polje čija je duljina jednaka duljini DataFramea.
Koristi indeks s lijevog DataFramea kao ključ(eve) pridruživanja, ako je istinito. U slučaju MultiIndex (hijerarhijskog), mnogi ključevi u drugom DataFrameu (bilo indeks ili neki stupci) trebali bi odgovarati broju razina.
Koristi indeks s desnog DataFramea kao ključ pridruživanja. Ima istu upotrebu kao i left_index.
Ako je True, razvrstava ključeve pridruživanja leksikografskim redoslijedom u rezultatu DataFrame. Inače, redoslijed ključeva za spajanje ovisi o vrsti spajanja (ključna riječ how).
Sufiksi se primjenjuju za preklapanje naziva stupaca u lijevom i desnom DataFrameu. Stupci koriste (False, False) vrijednosti za podizanje iznimke pri preklapanju.
Ako je True, vraća kopiju DataFramea.
U suprotnom, može izbjeći kopiju.
Ako je True, dodaje stupac za izlaz DataFrame ' _sjediniti ' s informacijama o izvoru svakog retka. Ako se radi o nizu, stupac s informacijama o izvoru svakog retka bit će dodan izlaznom DataFrameu, a stupac će biti nazvan vrijednost niza. Informacijski stupac je definiran kao kategorički tip i uzima vrijednost:
Ako je navedeno, provjerava tip spajanja koji je naveden u nastavku:
Primjer1: Spajanje dva DataFrame-a na ključu
# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['John', 'Parker', 'Smith', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6']}) right = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['William', 'Albert', 'Tony', 'Allen'], 'subject_id':['sub2','sub4','sub3','sub6']}) print (left) print (right)
Izlaz
id Name subject_id 0 1 John sub1 1 2 Parker sub2 2 3 Smith sub4 3 4 Parker sub6 id Name subject_id 0 1 William sub2 1 2 Albert sub4 2 3 Tony sub3 3 4 Allen sub6
Primjer2: Spajanje dva DataFramesa na više ključeva:
import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left,right,on='id')
Izlaz
id Name_x subject_id_x Name_y subject_id_y 0 1 John sub1 William sub2 1 2 Parker sub2 Albert sub4 2 3 Smith sub4 Tony sub3 3 4 Parker sub6 Allen sub6