Multiindeks i pandaer for multi-nivå eller hierarkiske data

MultiIndex in Pandas er et flernivå- eller hierarkisk objekt som lar deg velge mer enn én rad og kolonne i indeksen din. Den lar deg også lage sofistikert dataanalyse og manipulasjon, spesielt for arbeid med høyere dimensjonale data. I denne opplæringen skal jeg utforske MultiIndex-funksjonen til Pandas. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Tanken her er at vi har en indeks som også inneholder et hierarki. Hvis du har brukt Pandas før, vet du det, så vi kommer til å legge til flere lag til det. Det kommer til å gjøre både indeksering og omforming av dataene enklere, avhengig av om du faktisk har et hierarki for dataene dine.

For ett eksempel skal vi bruke det berømte Gapminder-datasettet, og dette er virkelig en MultiIndex her. Vi har et hierarki, så et kontinent borer inn i land, og hvert land kan bore inn i flere år. Så vi kan manipulere denne indeksen og ting kommer til å bli mye enklere å kode når vi bruker denne MultiIndex. Vi skal se på skjæring og omforming av Gapminder-datasettet.

Innholdsfortegnelse

Slik bruker du multiindeksen i pandaer

Vi skal bruke Gapminder-datasettet. Hvis du ikke har dette installert, vil du gjøre en PIP-installasjon av Gapminder. Jeg skal hente inn pandaer også. Jeg bruker Anaconda-distribusjonen av Python. I så fall vil Pandaene allerede være installert. Vi importerer Gapminder, og så tar vi en titt på disse dataene.

Multiindeks i pandaer for multi-nivå eller hierarkiske data

Som du kan se her, har vi igjen en indeks eller hierarki. Jeg må si at vi har et kontinent, et land, og så et år. For øyeblikket er indeksen bare numerisk som dette, og vi skal sette vår egen indeks akkurat nå. Og måten vi skal gjøre det på er med Gapminder. Vi skal sette indeksen. Vi skal sette den på kontinent, land og deretter år, inplace er lik ( = ) sant .

Multiindeks i pandaer for multi-nivå eller hierarkiske data

Dette lagrer bare resultatene, så vi trenger ikke å kalle variabelen to ganger, bare litt mer effektiv. Og nå vil du se at vi har indeksen her (innhold, land, år) og dette er vår multiindeks.

Et par ting vi kan gjøre her. La oss for eksempel si at jeg ville ha alt på det europeiske kontinentet. Jeg vil filtrere eller dele denne datarammen. Jeg kan bruke gapminder.loc , og deretter skrive inn Europa. Du er kanskje kjent med loc. Fra andre omstendigheter i Pandas fungerer det mye lettere når vi gjør det etter indeksen.

Multiindeks i pandaer for multi-nivå eller hierarkiske data

Nå eksisterer dette i et hierarki. La oss si at vi bare ville ha dataene fra Storbritannia. Det virker som om vi bare ville kunne dele opp dette, men dette kommer til å bli et problem fordi når vi indekserer dette, holder vi oss til å bruke hierarkiet. Vi må starte med det første nivået, og deretter bore til det andre, og det tredje, et cetera.

Hvis jeg ønsker å inkludere flere nivåer, kan jeg sende det inn her. Jeg skal gjøre Europa, og deretter Storbritannia. Jeg kunne til og med gått et skritt videre og satt 1997. Og nå kan vi se her er resultatet av den raden i så fall.

Multiindeks i pandaer for multi-nivå eller hierarkiske data

En annen fin ting med MultiIndex i Pandas er at det er mye enklere å omforme dataene. Jeg kan gjøre gapminder_pivot og deretter gapminder.unstack . Hvis jeg trenger å omforme dette datasettet, av en eller annen grunn, kommer jeg til å skrive ut dette, og du vil se at nå har vi kontinentet, landet og deretter året sammen med kolonnene.

Multiindeks i pandaer for multi-nivå eller hierarkiske data

Nå, la oss si at jeg ønsket å gjøre det i motsatt retning. Alt jeg trenger å gjøre er å unpivot og vi skal gjøre gapminder_pivot . Hvis det var avstabling, så er dette stabling gapminder_unpivot.

Multiindeks i pandaer for multi-nivå eller hierarkiske data

Nå, hva om jeg vil bli kvitt denne indeksen og tilbakestille den og endre den til noe annet? Alt jeg trenger å gjøre i så fall er gapminder_unpivot. Vi skal tilbakestille_indeks . Vi skal få det på plass igjen. Vi trenger ikke å spare over seg selv. Det er bare litt mer effektivt. Deretter gapminder_unpivot.

Skriv ut det, og vi er tilbake til våre opprinnelige data, og vi har indeksen. Den numeriske starten er på null fordi Python er nullbasert indeksering.

Multiindeks i pandaer for multi-nivå eller hierarkiske data




Konklusjon

Pandaer ble opprinnelig oppkalt etter paneldata. Det er egentlig ment å fungere med paneldata, som er en spesifikk type tidsseriedata med flere kategorier. I så fall er det virkelig fornuftig å ha et hierarki, ikke sant?

Dette fungerer veldig bra hvis du jobber med unike rader og prøver å finne flere kolonner.

Når det gjelder ytelsen, kan det hende at indeksen ikke er nødvendig hvis du slår sammen, men vi slo ikke sammen her. Vi var bare i gang med drift, tilgang, indeksering, omforming osv. Kodingseffektivitet er imidlertid definitivt en stor fordel.

Så det er alt for MultiIndex i Pandas. Jeg håper dette er noe du kan bruke. Du lærte noe litt nytt om Pandas i dag.

Beste ønsker!


Slik bruker du Natural Language Query (Q&A) i LuckyTemplates

Slik bruker du Natural Language Query (Q&A) i LuckyTemplates

I denne opplæringen skal jeg vise deg hva du kan gjøre med Natural Language Query eller skrivebordsfunksjonen for spørsmål og svar i LuckyTemplates netttjeneste.

Sorter visualiseringer dynamisk i LuckyTemplate-rapportene dine

Sorter visualiseringer dynamisk i LuckyTemplate-rapportene dine

Lær hvordan du sorterer visualiseringer dynamisk i LuckyTemplates-rapportene dine. Få kvalitetsinnsikt samtidig som du er kreativ i måten du presenterer data på.

PowerApps-søkefelt: Slik legger du til og tilpasser

PowerApps-søkefelt: Slik legger du til og tilpasser

Lær hvordan du oppretter et PowerApps-søkefelt fra bunnen av og tilpasser det til å matche det overordnede temaet for appen din.

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

Høst eller fang en verdi inne i et mål for å gjenbruke i et annet mål for dynamiske beregninger ved å bruke SELECTEDVALUE DAX i LuckyTemplates.

Versjonshistorikk i SharePoint-lister

Versjonshistorikk i SharePoint-lister

Oppdag hvordan versjonshistorikk i SharePoint kan hjelpe deg med å se utviklingen av bestemte data, og hvor mange endringer den har gjennomgått.

Hex-fargekodevelger for Lucky Templates-rapporter

Hex-fargekodevelger for Lucky Templates-rapporter

Her er et verktøy for å lage rapporter og grafikk, en sekskantkodevelger for farger som du kan bruke for enkelt å få fargene til LuckyTemplates-rapportene dine.

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Du kan enkelt vise en datoperiode som en slicer i rapporten ved hjelp av en periodetabell. Bruk en M-kode for å lage den dynamiske datoskjæreren i LuckyTemplates.

Proporsjons- og frekvenstabeller i Excel

Proporsjons- og frekvenstabeller i Excel

Skulle dykke ned i frekvenstabeller i Excel samt proporsjonstabeller. Se nærmere på hva de er og når du skal bruke dem.

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Lær hvordan du laster ned og installerer DAX Studio og Tabular Editor 3 og hvordan du konfigurerer dem for bruk i LuckyTemplates og i Excel.

LuckyTemplates Shape Map Visualization for romlig analyse

LuckyTemplates Shape Map Visualization for romlig analyse

Denne bloggen inneholder Shape Map-visualiseringen for romlig analyse i LuckyTemplates. Jeg viser deg hvordan du kan bruke denne visualiseringen effektivt med dens funksjoner og elementer.