logo

Kā apvienot divus datu kadrus Python - Pandas

Pandas

Pandas ir Python iebūvēta bibliotēka, ko izmanto, lai strādātu ar relāciju datiem Python programmēšanas valodā. Tam ir daudz funkciju un datu struktūru, kas palīdz relāciju datu darbībā.

Ja dati tiek glabāti rindu un kolonnu veidā vai divdimensiju datus pandās parasti sauc par datu rāmjiem.

Ja mums ir divi datu kadri, tad ar pandu palīdzību varam tos apvienot vai apvienot vienā datu kadrā. Pandas nodrošina iestatīto loģiku, lai apvienotu divu dažādu datu kadru datus, kā arī loģiku to salīdzināšanai.

1. Funkcijas concat() izmantošana

Programmā Python mēs varam savienot divus datu kadrus, izmantojot Pandas funkciju concat (). Mēs varam savienot datus pa rindām vai kolonnām. Šī funkcija apvieno datus uz vienas ass (rindas vai kolonnas) un veic iestatīto loģiku uz citas ass (cita indeksa).

Piemērs:

 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) 

Izvade:

Kā apvienot divus datu kadrus Python - Pandas

Paskaidrojums:

Iepriekš minētajā kodā mēs vispirms esam importējuši failā Pandas bibliotēku. Pēc tam mēs izveidojām divus datu rāmjus, kur katrā datu ietvarā ir trīs kolonnas un četras rindas. Pēc tam mēs izmantojām concat funkciju, kas savieno šos divus datu kadrus pa rindām, un, izmantojot displeja funkciju, mēs to izdrukājām uz ekrāna.

2. Savienojumu izmantošana pandās

Mēs esam sapratuši savienojumu jēdzienu datu bāzē, kur mēs savienojam divas tabulas, pamatojoties uz kādu kopīgu atribūtu. Tāda pati metode ir piemērojama datu kadru savienošanai. Izmantojot vienkāršo concat () metodi, mēs apvienojām visas rindas viena ar otru un izveidojām jaunu datu rāmi. Savienojumā mēs definējam, kāda veida savienojumu mēs vēlamies veikt uz galda, neatkarīgi no tā, vai tas ir iekšējais savienojums vai ārējais savienojums. Neatkarīgi no savienojuma veida iekšējā savienojuma (krustojuma) vai ārējā savienojuma (savienojuma) tiks definēts savienojuma atribūtā.

Piemērs:

char un int 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) 

Izvade:

Kā apvienot divus datu kadrus Python - Pandas

Paskaidrojums:

Iepriekš minētajā kodā mums ir divi dararāmi, kas abos satur divas kolonnas un četras rindas. Abiem datu rāmjiem ir atšķirīgi kolonnu nosaukumi, un funkcijā concat () mēs esam izmantojuši iekšējo savienojumu, kas aizņem krustojuma daļu.

Ass atribūtā esam inicializējuši vērtību vienu, tāpēc mēs ieguvām visus datus.

Piemērs:

 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) 

Izvade:

lateksa saraksts
Kā apvienot divus datu kadrus Python - Pandas

Tā kā nav kopēja atribūta un tika izmantots iekšējais savienojums, mēs saņēmām tukšu datu rāmi kā izvadi. Ja abos datu rāmjos ir kopīgs atribūts:

Piemērs:

 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) 

Izvade:

Kā apvienot divus datu kadrus Python - Pandas

Paskaidrojums:

Iepriekš minētajā kodā mums ir viens atribūts “id”, kas ir kopīgs, tāpēc datu rāmis tiek izveidots, pamatojoties tikai uz kopīgiem atribūtiem.

3. Izmantojot append() metodi

Metodes concat() vietā mēs varam izmantot append() metodi. Šī append() metode tiek lietota vienam no datu kadriem.

Piemērs:

 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) 

Izvade:

Kā apvienot divus datu kadrus Python - Pandas

Paskaidrojums:

Iepriekš minētajā kodā mēs esam apvienojuši divus datu kadrus, izmantojot pievienošanas metodi.