Kaip duomenų analitikas, dažnai susidursite su poreikiu sujungti kelis duomenų rinkinius. Turėsite tai padaryti, kad užbaigtumėte analizę ir padarytumėte išvadą savo verslui / suinteresuotosioms šalims.
Dažnai sudėtinga pateikti duomenis, kai jie saugomi skirtingose lentelėse. Tokiomis aplinkybėmis sujungimai įrodo savo vertę, nepaisant programavimo kalbos, su kuria dirbate.
Python sujungimai yra kaip SQL sujungimai: jie sujungia duomenų rinkinius, suderindami jų eilutes bendrame indekse.
Sukurkite du duomenų rėmelius nuorodai
Norėdami vadovautis šiame vadove pateiktais pavyzdžiais, galite sukurti du duomenų rėmelių pavyzdžius. Naudokite šį kodą, kad sukurtumėte pirmąjį DataFrame, kuriame yra ID, vardas ir pavardė.
importuoti pandos kaip pd
a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fvardas": ["Ronis", "Jonas", "Helen", "Jenny", "Kenny"],
"Lvardas": ["Keitas", "Harley", "Kalvis", "Kerr-Hislop", "Kirpėjas"]})
spausdintia)
Norėdami atlikti pirmąjį veiksmą, importuokite pandos
biblioteka. Tada galite naudoti kintamąjį, a, kad išsaugotumėte rezultatą iš „DataFrame“ konstruktoriaus. Perduokite konstruktoriui žodyną, kuriame yra jūsų reikalingos reikšmės.Galiausiai, naudodami spausdinimo funkciją, parodykite DataFrame reikšmės turinį, kad patikrintumėte, ar viskas atrodo taip, kaip tikitės.
Panašiai galite sukurti kitą DataFrame, b, kuriame yra ID ir atlyginimo reikšmės.
b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Atlyginimas": [100000, 700000, 80000, 904750, 604772]})
spausdintib)
Galite patikrinti išvestį konsolėje arba IDE. Tai turėtų patvirtinti jūsų duomenų rėmelių turinį:
Kuo sujungimai skiriasi nuo „Python“ sujungimo funkcijos?
Pandų biblioteka yra viena iš pagrindinių bibliotekų, kuriomis galite manipuliuoti DataFrames. Kadangi „DataFrames“ yra keli duomenų rinkiniai, „Python“ gali prisijungti prie įvairių funkcijų.
„Python“ siūlo sujungimo ir sujungimo funkcijas, be daugelio kitų, kurias galite naudoti norėdami sujungti „DataFrames“. Tarp šių dviejų funkcijų yra ryškus skirtumas, kurį turite atsiminti prieš naudodami bet kurią iš jų.
Sujungimo funkcija sujungia du duomenų rėmelius pagal jų indekso reikšmes. The sujungimo funkcija sujungia DataFrames remiantis indekso reikšmėmis ir stulpeliais.
Ką reikia žinoti apie prisijungimą prie Python?
Prieš aptardami galimų sujungimų tipus, atkreipkite dėmesį į keletą svarbių dalykų:
- SQL sujungimai yra viena iš pagrindinių funkcijų ir yra gana panašūs į Python prisijungimus.
- Norėdami prisijungti prie „DataFrames“, galite naudoti pandos. DataFrame.join() metodas.
- Numatytasis sujungimas atlieka kairįjį sujungimą, o sujungimo funkcija atlieka vidinį sujungimą.
Numatytoji Python sujungimo sintaksė yra tokia:
DataFrame.join (other, on=Nėra, kaip='kairė/dešinė/vidinė/išorinė', lsfiksas='', rsfiksas='',
Rūšiuoti =Netiesa)
Iškvieskite prisijungimo metodą pirmame DataFrame ir perduokite antrąjį DataFrame kaip pirmąjį parametrą, kitas. Likę argumentai yra šie:
- įjungta, kuris įvardija indeksą, prie kurio reikia prisijungti, jei yra daugiau nei vienas.
- kaip, kuris apibrėžia sujungimo tipą, įskaitant vidinį, išorinį, kairįjį ir dešinįjį.
- lsufiksas, kuri apibrėžia jūsų stulpelio pavadinimo kairiąją galūnės eilutę.
- rsfiksas, kuri apibrėžia dešiniąją jūsų stulpelio pavadinimo priesagos eilutę.
- rūšiuoti, kuri yra loginė vertė, nurodanti, ar reikia rūšiuoti gautą duomenų rėmelį.
Išmokite naudoti įvairių tipų sujungimus programoje Python
„Python“ turi keletą prisijungimo parinkčių, kurias galite naudoti, atsižvelgdami į valandos poreikį. Štai sujungimo tipai:
1. Kairė prisijungti
Kairiajame sujungime pirmosios „DataFrame“ reikšmės išlieka nepakitusios, o atitinkančios reikšmės pateikiamos iš antrojo. Pavyzdžiui, jei norite įvesti atitinkančias reikšmes iš b, galite jį apibrėžti taip:
c = a.prisijungti (b, kaip="paliko", lsfiksas = "_kairėje", rsfiksas = "_teisingai", Rūšiuoti = Tiesa)
spausdintic)
Kai užklausa vykdoma, išvestyje yra šios stulpelio nuorodos:
- ID_left
- Fvardas
- Lvardas
- ID_right
- Atlyginimas
Šis sujungimas ištraukia pirmuosius tris stulpelius iš pirmojo „DataFrame“ ir paskutinius du stulpelius iš antrojo „DataFrame“. Jis panaudojo lsufiksas ir rsfiksas reikšmes, kad pervadintumėte ID stulpelius iš abiejų duomenų rinkinių, užtikrinant, kad gautų laukų pavadinimai būtų unikalūs.
Išvestis yra tokia:
2. Teisingai Prisijunk
Dešinysis sujungimas išlaiko nepakitusias antrojo „DataFrame“ reikšmes, o atitinkančias vertes įveda iš pirmosios lentelės. Pavyzdžiui, jei norite įvesti atitinkančias reikšmes iš a, galite jį apibrėžti taip:
c = b.prisijungti (a, kaip="teisingai", lsfiksas = "_teisingai", rsfiksas = "_kairėje", Rūšiuoti = Tiesa)
spausdintic)
Išvestis yra tokia:
Jei peržiūrėsite kodą, yra keletas akivaizdžių pakeitimų. Pavyzdžiui, rezultatas apima antrojo „DataFrame“ stulpelius prieš stulpelius iš pirmojo „DataFrame“.
Turėtumėte naudoti vertę teisingai už kaip argumentas norint nurodyti teisingą sujungimą. Taip pat atkreipkite dėmesį, kaip galite perjungti lsufiksas ir rsfiksas vertybes, kad atspindėtų tinkamo sujungimo pobūdį.
Reguliariai sujungdami galite dažniau naudoti kairįjį, vidinį ir išorinį sujungimą, palyginti su dešiniuoju sujungimu. Tačiau naudojimas visiškai priklauso nuo jūsų duomenų reikalavimų.
3. Vidinis prisijungimas
Vidinis sujungimas pateikia atitinkamus įrašus iš abiejų duomenų rėmelių. Kadangi sujungimai naudoja indekso numerius, kad atitiktų eilutes, vidinis sujungimas grąžina tik tas eilutes, kurios atitinka. Šioje iliustracijoje naudokime šiuos du duomenų rėmelius:
a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"],
"Fvardas": ["Ronis", "Jonas", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lvardas": ["Keitas", "Harley", "Kalvis", "Kerr-Hislop", "Kirpėjas", "Hooperis", "Vilties"]})
b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Atlyginimas": [100000, 700000, 80000, 904750, 604772]})
spausdintia)
spausdintib)
Išvestis yra tokia:
Vidinį sujungimą galite naudoti taip:
c = a.sujungti (b, lsfiksas="_kairėje", rsfiksas="_teisingai", kaip ='vidinis')
spausdintic)
Gautoje išvestyje yra tik eilutės, esančios abiejuose įvesties duomenų rėmeliuose:
4. Išorinis prisijungimas
Išorinis sujungimas grąžina visas reikšmes iš abiejų duomenų rėmelių. Eilučių, kuriose nėra atitinkančių verčių, atskiruose langeliuose sukuriama nulinė reikšmė.
Naudojant tą patį DataFrame, kaip nurodyta aukščiau, išorinio sujungimo kodas:
c = a.sujungti (b, lsfiksas="_kairėje", rsfiksas="_teisingai", kaip ='išorinis')
spausdintic)
Sujungimų naudojimas Python
Sujungimai, kaip ir jų atitikmenų funkcijos, sujungiami ir sujungiami, siūlo daug daugiau nei paprastas sujungimo funkcija. Atsižvelgdami į jo parinkčių ir funkcijų seriją, galite pasirinkti jūsų poreikius atitinkančias parinktis.
Galite palyginti lengvai rūšiuoti gautus duomenų rinkinius su prisijungimo funkcija arba be jos, naudodami lanksčias parinktis, kurias siūlo Python.