logo

Cum să combinați două cadre de date în Python - Pandas

panda

Pandas este o bibliotecă încorporată în Python, care este folosită pentru a lucra cu date relaționale în limbajul de programare Python. Are o mulțime de funcții și structuri de date care ajută la operațiunile de date relaționale.

Dacă datele sunt stocate sub formă de rânduri și coloane sau datele bidimensionale se numesc în general cadre de date în panda.

Dacă avem două cadre de date, atunci cu ajutorul panda, le putem combina sau îmbina într-un singur cadru de date. Pandas oferă logica setată pentru a combina datele a două cadre de date diferite, precum și logica pentru a le compara.

1. Folosind funcția concat().

În python, putem concatena cele două cadre de date cu ajutorul funcției concat() a lui Pandas. Putem concatena datele fie pe rând, fie pe coloană. Această funcție îmbină datele pe o axă (rând sau coloană) și realizează logica setată pe o altă axă (un alt index).

Exemplu:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

Ieșire:

Cum să combinați două cadre de date în Python - Pandas

Explicaţie:

În codul de mai sus, am importat mai întâi biblioteca Pandas în fișier. Apoi, am creat cele două cadre de date în care fiecare cadru de date conține trei coloane și patru rânduri. Apoi am folosit funcția concat, care concatenează aceste două cadre de date pe rând, iar cu funcția de afișare, am tipărit acest lucru pe ecran.

2. Utilizarea îmbinărilor în panda

Am înțeles conceptul de îmbinări în baza de date în care unim cele două tabele pe baza unor atribute comune. Aceeași metodă este aplicabilă în concatenarea cadrelor de date. În metoda simplă concat(), am îmbinat toate rândurile unul pe celălalt și am creat noul cadru de date. În îmbinare, definim ce tip de îmbinare dorim să facem pe masă, fie că este o îmbinare interioară sau o îmbinare exterioară. Orice tip de îmbinare, fie îmbinare interioară (intersecție) fie îmbinare exterioară (unire), va fi definit în atributul join.

Exemplu:

tabel ascii java
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

Ieșire:

Cum să combinați două cadre de date în Python - Pandas

Explicaţie:

În codul de mai sus, avem două daraframes care conțin ambele două coloane și patru rânduri. Ambele cadre de date au nume de coloane diferite, iar în funcția concat() am folosit îmbinarea interioară, care ia partea de intersecție.

În atributul axa, am inițializat valoarea unu, așa că am primit toate datele.

Exemplu:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Ieșire:

mysql a lăsat alăturarea
Cum să combinați două cadre de date în Python - Pandas

Deoarece nu există un atribut comun și a fost aplicată îmbinarea interioară, am primit un cadru de date gol ca ieșire. Dacă există un atribut comun în ambele cadre de date:

Exemplu:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Ieșire:

Cum să combinați două cadre de date în Python - Pandas

Explicaţie:

În codul de mai sus, avem un atribut, „id”, care este comun, astfel încât cadrul de date este creat pe baza numai atributelor comune.

3. Folosind metoda append().

În loc de metoda concat(), putem folosi metoda append(). Această metodă append() este aplicată unuia dintre cadrele de date.

Exemplu:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

Ieșire:

Cum să combinați două cadre de date în Python - Pandas

Explicaţie:

În codul de mai sus, am îmbinat două cadre de date folosind metoda append.