Andmeanalüütikuna seisate sageli silmitsi vajadusega kombineerida mitu andmekogumit. Peate seda tegema, et oma analüüs lõpule viia ja oma ettevõtte/huvirühmade jaoks järeldusele jõuda.

Erinevatesse tabelitesse salvestatud andmete esitamine on sageli keeruline. Sellistes olukordades tõestavad liitumised oma väärtust, olenemata programmeerimiskeelest, mille kallal töötate.

Pythoni ühendused on nagu SQL-i ühendused: need ühendavad andmekogumeid, sobitades nende ridu ühises indeksis.

Looge viitamiseks kaks andmeraami

Selle juhendi näidete järgimiseks saate luua kaks DataFrame näidisraami. Kasutage järgmist koodi, et luua esimene DataFrame, mis sisaldab ID-d, ees- ja perekonnanime.

importida pandad nagu pd

a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fnimi": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lnimi": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Juuksur"]})
printida(a)

Esimeseks sammuks importige pandad raamatukogu. Seejärel saate kasutada muutujat, a, et salvestada tulemus DataFrame konstruktorist. Edastage konstruktorile teie nõutud väärtusi sisaldav sõnastik.

Lõpuks kuvage printimisfunktsiooniga DataFrame'i väärtuse sisu, et kontrollida, kas kõik näeb välja ootuspärane.

Samamoodi saate luua teise DataFrame'i, b, mis sisaldab ID-d ja palgaväärtusi.

b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Palk": [100000, 700000, 80000, 904750, 604772]})

printida(b)

Väljundit saate kontrollida konsoolis või IDE-s. See peaks kinnitama teie DataFramesi sisu:

Mille poolest erinevad ühendused Pythoni liitmisfunktsioonist?

Pandade teek on üks peamisi teeke, mida saate DataFrame'idega manipuleerimiseks kasutada. Kuna DataFrame'id sisaldavad mitut andmekogumit, on Pythonis nende ühendamiseks saadaval erinevad funktsioonid.

Python pakub paljude teiste hulgas ka liitmis- ja liitmisfunktsioone, mida saate kasutada DataFrame'ide kombineerimiseks. Nende kahe funktsiooni vahel on suur erinevus, mida peate enne kummagi kasutamist meeles pidama.

Liitmisfunktsioon ühendab kaks DataFrame'i nende indeksi väärtuste alusel. The Merge funktsioon ühendab DataFrames indeksi väärtuste ja veergude põhjal.

Mida peate Pythonis liitumiste kohta teadma?

Enne saadaolevate liitumistüüpide arutamist on siin mõned olulised asjad, mida tähele panna.

  • SQL-i ühendused on üks põhilisi funktsioone ja on üsna sarnased Pythoni liitudega.
  • DataFramesiga liitumiseks saate kasutada pandad. DataFrame.join() meetod.
  • Vaikimisi ühendamine teostab vasakühenduse, liitmisfunktsioon aga sisemise ühenduse.

Pythoni liitumise vaikesüntaks on järgmine:

DataFrame.join (muu, on=Puudub, kuidas='vasak/parem/sisemine/välimine', lsufiks='', rsliide='',
sortida=Vale)

Kutsuge esimesel DataFrame'il liitumismeetod ja edastage teine ​​DataFrame selle esimese parameetrina, muud. Ülejäänud argumendid on järgmised:

  • peal, mis nimetab indeksi, millega liituda, kui neid on rohkem kui üks.
  • kuidas, mis määrab ühenduse tüübi, sealhulgas sisemise, välimise, vasaku ja parema.
  • lsufiks, mis määrab teie veeru nime vasakpoolse järelliite stringi.
  • rsliide, mis määrab teie veeru nime parempoolse järelliite stringi.
  • sorteerida, mis on tõeväärtus, mis näitab, kas saadud DataFrame sortida.

Õppige kasutama Pythonis erinevaid liitetüüpe

Pythonil on mõned liitumisvõimalused, mida saate olenevalt tunni vajadusest kasutada. Siin on liitumistüübid:

1. Vasak Liitu

Vasakpoolne liitmine hoiab esimese DataFrame'i väärtused puutumatuna, tuues samas sobivad väärtused teisest. Näiteks kui soovite tuua vastavad väärtused alates b, saate selle määratleda järgmiselt:

c = a.liituma (b, kuidas="vasakule", lsufiks = "_vasakule", rsliide = "_õige", sortida = tõene)
printida(c)

Kui päring käivitub, sisaldab väljund järgmisi veeruviiteid:

  • ID_left
  • Fnimi
  • Lnimi
  • ID_right
  • Palk

See liitmine tõmbab esimesest DataFrame'ist kolm esimest veergu ja teisest DataFrame'ist kaks viimast veergu. See on kasutanud lsufiks ja rsliide väärtused, et mõlema andmestiku ID-veerud ümber nimetada, tagades, et väljade nimed on kordumatud.

Väljund on järgmine:

2. Õige Liitu

Parempoolne liitmine hoiab teise DataFrame'i väärtused puutumatuna, tuues samas sisse esimesest tabelist vastavad väärtused. Näiteks kui soovite tuua vastavad väärtused alates a, saate selle määratleda järgmiselt:

c = b.join (a, kuidas="õige", lsufiks = "_õige", rsliide = "_vasakule", sortida = tõene)
printida(c)

Väljund on järgmine:

Kui vaatate koodi üle, on mõned ilmsed muudatused. Näiteks sisaldab tulemus teise DataFrame'i veerge enne esimese DataFrame'i veerge.

Peaksite kasutama väärtust õige jaoks kuidas argumendi õige ühenduse määramiseks. Samuti pange tähele, kuidas saate vahetada lsufiks ja rsliide väärtusi, mis peegeldavad õige liitumise olemust.

Tavalistes ühendustes võite kasutada vasak-, sise- ja välisühendusi sagedamini kui parempoolset liitumist. Kasutus sõltub aga täielikult teie andmenõuetest.

3. Sisemine liitumine

Sisemine ühendus edastab mõlema DataFrame'i vastavad kirjed. Kuna ühendused kasutavad ridade sobitamiseks indeksi numbreid, tagastab sisemine liitmine ainult sobivad read. Selle illustratsiooni jaoks kasutame kahte järgmist DataFrame'i:

a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"],
"Fnimi": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lnimi": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Juuksur", "Hooper", "Lootus"]})
b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Palk": [100000, 700000, 80000, 904750, 604772]})

printida(a)
printida(b)

Väljund on järgmine:

Siseühendust saate kasutada järgmiselt.

c = a.liit (b, lsufiks="_vasakule", rsliide="_õige", kuidas='sisemine')
printida(c)

Saadud väljund sisaldab ainult ridu, mis eksisteerivad mõlemas sisendandmete raamis:

4. Väline liitumine

Väline liitmine tagastab kõik mõlema DataFrame'i väärtused. Ridade puhul, millel pole ühtivaid väärtusi, loob see üksikutele lahtritele nullväärtuse.

Kasutades sama DataFrame'i nagu ülal, on siin välise liitumise kood:

c = a.liit (b, lsufiks="_vasakule", rsliide="_õige", kuidas='välimine')
printida(c)

Ühenduste kasutamine Pythonis

Ühendused, nagu ka nende vastefunktsioonid, ühendavad ja ühendavad, pakuvad palju enamat kui lihtne liitumisfunktsioon. Arvestades selle valikute ja funktsioonide seeriat, saate valida oma vajadustele vastavad valikud.

Pythoni pakutavate paindlike valikute abil saate saadud andmekogumeid suhteliselt lihtsalt sortida, liitmisfunktsiooniga või ilma.