Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

MultiIndex in Pandas on monitasoinen tai hierarkkinen objekti, jonka avulla voit valita useamman kuin yhden rivin ja sarakkeen hakemistosta. Sen avulla voit myös luoda kehittyneitä tietojen analysointia ja käsittelyä erityisesti korkeamman ulottuvuuden tietojen kanssa työskentelyssä. Tässä opetusohjelmassa aion tutkia Pandan MultiIndex-ominaisuutta. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

Ajatuksena tässä on, että meillä on indeksi, joka sisältää myös hierarkian. Jos olet käyttänyt Pandaa aiemmin, tiedät sen, joten aiomme lisätä siihen uusia tasoja. Tämä tekee sekä indeksoinnista että tietojen uudelleenmuotoilusta helpompaa riippuen siitä, onko tiedoillasi todella hierarkia.

Esimerkiksi aiomme käyttää kuuluisaa Gapminder-tietojoukkoa, ja tämä on todellakin MultiIndex täällä. Meillä on hierarkia, joten maanosa porautuu maihin, ja jokainen maa voi porautua useisiin vuosiin. Joten voimme manipuloida tätä indeksiä ja asioita on paljon helpompi koodata, kun käytämme tätä MultiIndexiä. Tarkastelemme Gapminder-tietojoukon leikkaamista ja myös uudelleenmuotoilua.

Sisällysluettelo

Kuinka käyttää MultiIndexiä Pandasissa

Käytämme Gapminder-tietojoukkoa. Jos sinulla ei ole tätä asennettuna, haluat tehdä PIP-asennuksen Gapminder. Otan myös pandat mukaan. Käytän Pythonin Anaconda-jakelua. Siinä tapauksessa Pandat asennetaan jo. Tuomme Gapminderin ja sitten tarkastelemme näitä tietoja.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Kuten näet tästä, meillä on jälleen indeksi tai hierarkia. Sanoisin, että meillä on maanosa, maa ja sitten vuosi. Tällä hetkellä indeksi on vain numeerinen, ja aiomme asettaa oman indeksimme juuri nyt. Ja tapa, jolla aiomme tehdä sen, on Gapminder. Aiomme asettaa indeksin. Asetamme sen maanosaan, maahan ja sitten vuoteen, paikka on yhtä suuri kuin ( = ) tosi .

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Tämä on vain tulosten tallentamista, joten meidän ei tarvitse kutsua muuttujaa kahdesti, vain vähän tehokkaammin. Ja nyt näet, että meillä on indeksi täällä (sisältö, maa, vuosi) ja tämä on moniindeksimme.

Pari asiaa, joita voisimme tehdä täällä. Oletetaan esimerkiksi, että halusin kaiken Euroopan mantereella. Haluan suodattaa tai viipaloida tämän tietokehyksen. Voin käyttää gapminder.loc -osoitetta ja kirjoittaa sitten Eurooppaan. Saatat olla tuttu loc. Pandasin muissa olosuhteissa se toimii paljon helpommin, kun teemme sen indeksin perusteella.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Nyt tämä on olemassa hierarkiassa. Oletetaan, että halusimme tiedot vain Yhdistyneestä kuningaskunnasta. Näyttää siltä, ​​​​että pystyisimme vain viipaloimaan tämän, mutta tämä tulee olemaan ongelma, koska kun indeksoimme tämän, olemme juuttuneet käyttämään hierarkiaa. Meidän on aloitettava ensimmäisestä tasosta ja sitten porattava toiseen ja kolmanteen jne.

Jos halusin sisällyttää useita tasoja, voin välittää sen tänne. Aion tehdä Euroopan ja sitten Yhdistyneen kuningaskunnan. Voisin jopa mennä askeleen pidemmälle ja laittaa vuoden 1997. Ja nyt, voimme nähdä, tässä on tuon rivin tulos siinä tapauksessa.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Toinen mukava asia Pandasin MultiIndexissä on se, että tietojen muokkaaminen on paljon helpompaa. Voin tehdä gapminder_pivot ja sitten gapminder.unstack . Jos minun on jostain syystä muokattava tämä tietojoukko uudelleen, aion tulostaa tämän ja näet, että nyt meillä on maanosa, maa ja sitten vuosi sarakkeiden kanssa.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Oletetaan nyt, että halusin tehdä sen päinvastaiseen suuntaan. Minun tarvitsee vain poistaa pivot ja teemme gapminder_pivot . Jos tämä oli pinoamista, tämä on pinoaminen gapminder_unpivot.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille

Entä jos haluan päästä eroon tästä indeksistä ja nollata sen ja vaihtaa sen johonkin muuhun? Tässä tapauksessa minun tarvitsee vain gapminder_unpivot. Aiomme nollata_indeksin . Laitamme sen taas paikalleen . Meidän ei tarvitse säästää itsestään. Se on vain vähän tehokkaampi. Sitten gapminder_unpivot.

Tulosta se ja palaamme alkuperäisiin tietoihimme ja meillä on hakemisto. Numeerinen aloitus on nolla, koska Python on nollapohjainen indeksointi.

Pandan moniindeksi monitasoisille tai hierarkkisille tiedoille




Johtopäätös

Pandat nimettiin alun perin paneelitietojen mukaan. Se on todella tarkoitettu työskentelemään paneelitietojen kanssa, jotka ovat tietyntyyppisiä aikasarjatietoja, joissa on useita luokkia. Siinä tapauksessa hierarkia on todella järkevää, eikö?

Tämä toimii todella hyvin, jos työskentelet yksilöllisten rivien kanssa ja yrität löytää useita sarakkeita.

Mitä tulee suorituskykyyn, saattaa olla, että indeksi ei ole välttämätön, jos olet yhdistämässä, mutta emme yhdistäneet tässä. Työskentelimme vain, käytimme, indeksoimme, muotoilimme uudelleen jne. Koodauksen tehokkuus on kuitenkin ehdottomasti suuri etu.

Siinä kaikki Pandasin MultiIndexille. Toivottavasti tämä on jotain, jota voit käyttää. Opit tänään jotain uutta Pandoista.

Kaikki parhaat!


Versiohistoria SharePoint-luetteloissa

Versiohistoria SharePoint-luetteloissa

Tutustu siihen, kuinka SharePointin versiohistoria voi auttaa sinua näkemään tiettyjen tietojen kehityksen ja kuinka monta muutosta se on käynyt läpi.

Värien heksadesimaalikoodien valitsin LuckyTemplates-raporteille

Värien heksadesimaalikoodien valitsin LuckyTemplates-raporteille

Tässä on työkalu raporttien ja visuaalien luomiseen, värien heksadesimaalikoodien valitsin, jonka avulla voit helposti saada värit LuckyTemplates-raporttiisi.

Dynaaminen päivämäärän slicer LuckyTemplatesissa käyttäen jaksotaulukkoa

Dynaaminen päivämäärän slicer LuckyTemplatesissa käyttäen jaksotaulukkoa

Voit helposti näyttää ajanjakson raportissasi viipaleina jaksotaulukon avulla. Käytä M-koodia luodaksesi dynaamisen päivämäärän osittimen LuckyTemplatesissa.

Suhde- ja taajuustaulukot Excelissä

Suhde- ja taajuustaulukot Excelissä

Aioin sukeltaa Excelin taajuustaulukoihin sekä suhteellisiin taulukoihin. Selvitä, mitä ne ovat ja milloin niitä käytetään.

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.