4 „DataFrame“ prisijungimų tipai, kuriuos siūlo „Python“ pandų biblioteka

4 „DataFrame“ prisijungimų tipai, kuriuos siūlo „Python“ pandų biblioteka

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.





DIENOS VAIZDO ĮRAŠO PAGALBA

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ė.

nešiojamasis kompiuteris prijungtas prie „Wi -Fi“, bet nėra interneto prieigos „Windows 10“
import pandas as pd 

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

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"], 
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

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 pandas.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=None, how='left/right/inner/outer', lsuffix='', rsuffix='', 
sort=False)

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 , kuris apibrėžia kairiąją jūsų stulpelio pavadinimo priesagos eilutę.
  • rsfiksas , kuris apibrėžia dešiniąją jūsų stulpelio pavadinimo priesagos eilutę.
  • rūšiuoti , kuris yra loginis dydis, nurodantis, 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. Kairysis prisijungimas

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.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True) 
print(c)

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.

kodel mano xbox neprisijungia prie interneto?

Išvestis yra tokia:

  Kodas, rodantis kairįjį prisijungimą Python's dataframes

2. Teisė prisijungti

Dešinysis sujungimas išlaiko nepaliestas antrojo „DataFrame“ vertes, 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.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True) 
print(c)

Išvestis yra tokia:

  Kodas, rodantis tinkamą prisijungimą Python's dataframes

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 reikšmę teisingai 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 sujungimas

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"], 
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

Išvestis yra tokia:

  Sukurkite naujus duomenų rėmelius Python

Vidinį sujungimą galite naudoti taip:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner') 
print(c)

Gautoje išvestyje yra tik abiejuose įvesties duomenų rėmeliuose esančios eilutės:

  Kodas, rodantis vidinį sujungimą Python's dataframes

4. Išorinis sujungimas

Išorinis sujungimas grąžina visas reikšmes iš abiejų duomenų rėmelių. Eilučių, kuriose nėra atitinkamų verčių, atskiruose langeliuose sukuriama nulinė reikšmė.

Naudojant tą patį DataFrame, kaip nurodyta aukščiau, išorinio sujungimo kodas:

kaip išeiti iš grupės pokalbių „iPhone“
c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  Kodas, rodantis išorinį sujungimą Python's dataframes

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.