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!

Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.