Tietoanalyytikkona joudut usein yhdistämään useita tietojoukkoja. Sinun on tehtävä tämä, jotta voit suorittaa analyysisi ja tehdä johtopäätöksen yrityksesi/sidosryhmiesi kannalta.
On usein haastavaa esittää dataa, kun se on tallennettu eri taulukoihin. Tällaisissa olosuhteissa liitokset osoittavat arvonsa riippumatta siitä, millä ohjelmointikielellä työskentelet.
Python-liitokset ovat kuin SQL-liitokset: ne yhdistävät tietojoukkoja sovittamalla rivinsä yhteiseen indeksiin.
Luo kaksi datakehystä viitteeksi
Voit seurata tämän oppaan esimerkkejä luomalla kaksi esimerkkitietokehystä. Luo ensimmäinen DataFrame, joka sisältää tunnuksen, etunimen ja sukunimen, käyttämällä seuraavaa koodia.
tuonti pandat kuten pd
a = pd. Datakehys({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lnimi": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Parturi"]})
Tulosta(a)
Tuo ensimmäistä vaihetta varten pandat kirjasto. Voit sitten käyttää muuttujaa, a, tallentaaksesi tuloksen DataFrame-konstruktorista. Välitä rakentajalle sanakirja, joka sisältää vaaditut arvot.
Lopuksi näytä DataFrame-arvon sisältö tulostustoiminnolla, jotta voit tarkistaa, että kaikki näyttää siltä kuin odotit.
Vastaavasti voit luoda toisen DataFramen, b, joka sisältää tunnuksen ja palkkaarvot.
b = pd. Datakehys({"ID": ["001", "002", "003", "004", "005"],
"Palkka": [100000, 700000, 80000, 904750, 604772]})
Tulosta(b)
Voit tarkistaa lähdön konsolista tai IDE: stä. Sen pitäisi vahvistaa DataFrame-kehystesi sisältö:
Miten liitokset eroavat Pythonin yhdistämistoiminnosta?
Pandas-kirjasto on yksi tärkeimmistä kirjastoista, joita voit käyttää DataFrame-kehysten käsittelyyn. Koska DataFrame-kehykset sisältävät useita tietojoukkoja, Pythonissa on käytettävissä useita toimintoja niiden yhdistämiseksi.
Python tarjoaa monien muiden ohella liitos- ja yhdistämistoiminnot, joita voit käyttää DataFrame-kehysten yhdistämiseen. Näiden kahden toiminnon välillä on selvä ero, joka sinun on pidettävä mielessä ennen jommankumman käyttöä.
Join-toiminto yhdistää kaksi DataFrame-kehystä niiden indeksiarvojen perusteella. The yhdistämistoiminto yhdistää datakehykset indeksiarvojen ja sarakkeiden perusteella.
Mitä sinun on tiedettävä liittymisestä Pythonissa?
Ennen kuin keskustelet käytettävissä olevista liitostyypeistä, tässä on muutamia tärkeitä asioita huomioitava:
- SQL-liitokset ovat yksi perustoiminnoista ja ovat melko samanlaisia kuin Pythonin liitokset.
- Voit liittyä DataFramesiin käyttämällä pandat. DataFrame.join() menetelmä.
- Oletusliitos suorittaa vasemman liitoksen, kun taas yhdistämistoiminto suorittaa sisäisen liitoksen.
Python-liitoksen oletussyntaksi on seuraava:
DataFrame.join (other, on=Ei mitään, miten='vasen/oikea/sisä/ulko', lsuffix='', rsfiksi='',
lajitella=Väärä)
Kutsu liitosmenetelmä ensimmäisessä DataFramessa ja välitä toinen DataFrame sen ensimmäisenä parametrina, muu. Loput argumentit ovat:
- päällä, joka nimeää hakemiston, johon liitetään, jos niitä on useampi kuin yksi.
- Miten, joka määrittää liitostyypin, mukaan lukien sisä-, ulko-, vasen ja oikea.
- lsuffix, joka määrittää sarakkeen nimen vasemman päätemerkkijonon.
- rsfiksi, joka määrittää sarakkeen nimen oikean päätemerkkijonon.
- järjestellä, joka on boolen arvo, joka osoittaa, lajitellaanko tuloksena oleva DataFrame.
Opi käyttämään erilaisia liitostyyppejä Pythonissa
Pythonissa on muutama liittymisvaihtoehto, joita voit harjoitella tunnin tarpeesta riippuen. Tässä ovat liitostyypit:
1. Vasen Liity
Vasen liitos pitää ensimmäisen DataFramen arvot ennallaan ja tuo vastaavat arvot toisesta. Jos esimerkiksi haluat tuoda vastaavat arvot kohteesta b, voit määrittää sen seuraavasti:
c = a.liitos (b, miten="vasemmalle", lsuffix = "_vasen", rsfiksi = "_oikein", lajittele = totta)
Tulosta(c)
Kun kysely suoritetaan, tulos sisältää seuraavat sarakeviittaukset:
- ID_left
- Fname
- Lnimi
- ID_right
- Palkka
Tämä liitos vetää kolme ensimmäistä saraketta ensimmäisestä DataFramesta ja kaksi viimeistä saraketta toisesta DataFramesta. Se on käyttänyt lsuffix ja rsfiksi arvot nimetäksesi uudelleen kummankin tietojoukon ID-sarakkeet ja varmistaaksesi, että tuloksena olevat kenttien nimet ovat yksilöllisiä.
Tulos on seuraava:
2. Oikea Liity
Oikea liitos pitää toisen DataFramen arvot ennallaan ja tuo samalla vastaavat arvot ensimmäisestä taulukosta. Jos esimerkiksi haluat tuoda vastaavat arvot kohteesta a, voit määrittää sen seuraavasti:
c = b.join (a, miten="oikein", lsuffix = "_oikein", rsfiksi = "_vasen", lajittele = totta)
Tulosta(c)
Tulos on seuraava:
Jos tarkistat koodin, siinä on muutamia ilmeisiä muutoksia. Esimerkiksi tulos sisältää toisen DataFramen sarakkeet ennen ensimmäisen DataFramen sarakkeita.
Sinun tulee käyttää arvoa oikein varten Miten argumentti oikean liitoksen määrittämiseksi. Huomaa myös, kuinka voit vaihtaa lsuffix ja rsfiksi arvot heijastavat oikean liitoksen luonnetta.
Tavallisissa liitoksissa saatat joutua käyttämään vasenta, sisä- ja ulkoliitosta useammin kuin oikeaa liitosta. Käyttö riippuu kuitenkin täysin tietovaatimuksistasi.
3. Sisäinen liitos
Sisäliitos toimittaa vastaavat merkinnät molemmista DataFrame-kehyksistä. Koska liitokset käyttävät indeksinumeroita vastaamaan rivejä, sisäinen liitos palauttaa vain vastaavat rivit. Tässä kuvassa käytetään seuraavia kahta DataFrame-kehystä:
a = pd. Datakehys({"ID": ["001", "002", "003", "004", "005", "006", "007"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lnimi": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Parturi", "Hooper", "Toivoa"]})
b = pd. Datakehys({"ID": ["001", "002", "003", "004", "005"],
"Palkka": [100000, 700000, 80000, 904750, 604772]})
Tulosta(a)
Tulosta(b)
Tulos on seuraava:
Voit käyttää sisäliitosta seuraavasti:
c = a.liitä (b, lsuffix="_vasen", rsfiksi="_oikein", miten ='sisäinen')
Tulosta(c)
Tuloksena oleva tulos sisältää vain rivit, jotka ovat molemmissa syötetyissä datakehyksessä:
4. Ulkoinen liitos
Ulompi liitos palauttaa kaikki arvot molemmista DataFrame-kehyksistä. Riveille, joilla ei ole vastaavia arvoja, se tuottaa nolla-arvon yksittäisille soluille.
Tässä on ulkoliitoksen koodi käyttämällä samaa DataFrame-kehystä kuin yllä:
c = a.liitä (b, lsuffix="_vasen", rsfiksi="_oikein", miten ='ulompi')
Tulosta(c)
Liitosten käyttäminen Pythonissa
Liitokset, kuten niiden vastinefunktiot, yhdistäminen ja yhdistäminen, tarjoavat paljon enemmän kuin pelkkä liitostoiminto. Sen lisävarusteiden ja toimintojen ansiosta voit valita tarpeitasi vastaavat vaihtoehdot.
Voit lajitella tuloksena olevat tietojoukot suhteellisen helposti, liitostoiminnolla tai ilman sitä Pythonin tarjoamilla joustavilla vaihtoehdoilla.