panda combina() este definit ca procesul de reunire a celor două seturi de date într-unul singur și de aliniere a rândurilor pe baza atributelor sau coloanelor comune. Este un punct de intrare pentru toate operațiunile standard de îmbinare a bazei de date între obiectele DataFrame:
Sintaxă:
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” sau „1:1”: verifică dacă cheile de îmbinare sunt unice în ambele seturi de date din stânga și din dreapta.
- „one_to_many” sau „1:m”: verifică dacă cheile de îmbinare sunt unice doar în setul de date din stânga.
- „many_to_one” sau „m:1”: verifică dacă cheile de îmbinare sunt unice doar în setul de date potrivit.
- 'many_to_many' sau 'm:m': este permis, dar nu are ca rezultat verificări.
Este un obiect care se îmbină cu DataFrame.
Tipul de îmbinare de efectuat.
Este o coloană sau nume de nivel de index la care să se alăture. Acesta trebuie să fie găsit atât în DataFrames-ul din stânga, cât și în cel din dreapta. Dacă activat este Nici unul și nu se îmbină pe indexuri, atunci aceasta este implicită la intersecția coloanelor din ambele DataFrames.
rămas pe: etichetă sau listă sau asemănătoare matricei
Este o coloană sau nume de nivel de index din DataFrame din stânga pentru a fi folosit ca cheie. Poate fi o matrice cu lungime egală cu lungimea DataFrame.
Este o coloană sau nume de nivel de index din DataFrame drept pentru a le folosi ca chei. Poate fi o matrice cu lungime egală cu lungimea DataFrame.
Folosește indexul din DataFrame din stânga ca chei de unire, dacă este adevărat. În cazul MultiIndex (ierarhic), multe chei din celălalt DataFrame (fie indexul, fie unele coloane) ar trebui să se potrivească cu numărul de niveluri.
Utilizează indexul din DataFrame drept ca cheie de unire. Are aceeași utilizare ca stânga_index.
Dacă este adevărat, sortează cheile de unire în ordine lexicografică în DataFrame rezultat. În caz contrar, ordinea cheilor de unire depinde de tipul de unire (cuvânt cheie cum).
Se aplică sufixe pentru a suprapune numele coloanelor din DataFrame din stânga și din dreapta, respectiv. Coloanele folosesc valori (False, False) pentru a ridica o excepție la suprapunere.
Dacă este adevărat, returnează o copie a DataFrame.
În caz contrar, poate evita copierea.
Dacă este adevărat, adaugă o coloană la ieșirea DataFrame ' _combina ' cu informații despre sursa fiecărui rând. Dacă este un șir, o coloană cu informații despre sursa fiecărui rând va fi adăugată la DataFrame de ieșire, iar coloana va fi numită valoarea unui șir. Coloana de informații este definită ca un tip categoric și ia valoarea:
Dacă este specificat, verifică tipul de îmbinare care este prezentat mai jos:
Exemplul 1: Îmbinați două DataFrames pe o cheie
# 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)
Ieșire
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
Exemplul 2: Îmbinați două DataFrames pe mai multe chei:
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')
Ieșire
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