logo

Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Pandat

Pandas on Pythonin sisäänrakennettu kirjasto, jota käytetään relaatiotietojen kanssa työskentelemiseen Python-ohjelmointikielellä. Siinä on paljon toimintoja ja tietorakenteita, jotka auttavat relaatiodatan toiminnassa.

Jos tiedot tallennetaan rivien ja sarakkeiden muodossa tai kaksiulotteista dataa kutsutaan pandoissa yleensä datakehyksiksi.

Jos meillä on kaksi tietokehystä, voimme pandojen avulla yhdistää ne tai yhdistää ne yhdeksi tietokehykseksi. Pandat tarjoavat asetettua logiikkaa kahden eri tietokehyksen tietojen yhdistämiseen sekä logiikan niiden vertailuun.

1. Concat()-funktion käyttö

Pythonissa voimme ketjuttaa nämä kaksi datakehystä Pandasin concat()-funktion avulla. Voimme ketjuttaa tiedot joko rivi- tai sarakekohtaisesti. Tämä toiminto yhdistää tiedot yhdellä akselilla (rivi tai sarake) ja suorittaa asetetun logiikan toisella akselilla (toinen indeksi).

Esimerkki:

 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) 

Lähtö:

Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Selitys:

Yllä olevassa koodissa olemme ensin tuoneet tiedostoon Pandas-kirjaston. Sitten loimme kaksi tietokehystä, joissa jokainen tietokehys sisältää kolme saraketta ja neljä riviä. Sitten käytimme concat-funktiota, joka ketjuttaa nämä kaksi datakehystä riveittäin, ja näyttötoiminnolla tulostimme tämän näytölle.

2. Liitosten käyttäminen pandoissa

Olemme ymmärtäneet liitosten käsitteen tietokannassa, jossa yhdistämme kaksi taulukkoa jonkin yhteisen attribuutin perusteella. Samaa menetelmää voidaan soveltaa tietokehysten ketjuttamiseen. Yksinkertaisessa concat()-menetelmässä yhdistämme kaikki rivit toisiinsa ja loimme uuden datakehyksen. Liitoksessa määritämme minkä tyyppisen liitoksen haluamme suorittaa taulukossa, onko se sisä- vai ulkoliitos. Join-attribuutissa määritellään mikä tahansa liitostyyppi, joko sisäliitos (leikkaus) tai ulkoliitos (liitos).

Esimerkki:

yhteyden muodostaminen java-tietokantaan
 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) 

Lähtö:

Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Selitys:

Yllä olevassa koodissa meillä on kaksi daraframea, jotka molemmat sisältävät kaksi saraketta ja neljä riviä. Molemmilla tietokehyksellä on eri sarakkeiden nimet, ja concat()-funktiossa olemme käyttäneet sisäliitosta, joka ottaa leikkausosan.

Axis-attribuutissa olemme alustaneet arvon yksi, joten saimme koko datan.

Esimerkki:

 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) 

Lähtö:

parannettu silmukalle javalle
Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Koska yhteistä attribuuttia ei ole ja sisäinen liitos käytettiin, saimme ulostuloksi tyhjän datakehyksen. Jos molemmissa tietokehyksissä on yhteinen attribuutti:

Esimerkki:

 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) 

Lähtö:

Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Selitys:

Yllä olevassa koodissa meillä on yksi attribuutti, 'id', joka on yleinen, joten tietokehys luodaan vain yhteisten attribuuttien perusteella.

3. Käytä append()-metodia

Concat()-menetelmän sijaan voimme käyttää append()-menetelmää. Tätä append()-menetelmää käytetään yhteen tietokehyksestä.

Esimerkki:

 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) 

Lähtö:

Kuinka yhdistää kaksi tietokehystä Pythonissa - Pandas

Selitys:

Yllä olevassa koodissa olemme yhdistäneet kaksi datakehystä append-menetelmällä.