Multiindeks i pandaer til multi-niveau eller hierarkiske data

MultiIndex i Pandas er et multi-level eller hierarkisk objekt, der giver dig mulighed for at vælge mere end én række og kolonne i dit indeks. Det giver dig også mulighed for at skabe sofistikeret dataanalyse og manipulation, især for at arbejde med højere dimensionelle data. I denne tutorial vil jeg udforske MultiIndex-funktionen i Pandas. Du kan se den fulde video af denne tutorial nederst på denne blog.

Tanken her er, at vi har et indeks, der også indeholder et hierarki. Hvis du har brugt Pandas før, ved du det, så vi vil tilføje yderligere lag til det. Det vil gøre både indeksering og omformning af dataene nemmere, afhængigt af om du faktisk har et hierarki for dine data.

For et eksempel skal vi bruge det berømte Gapminder-datasæt, og dette er virkelig et MultiIndex her. Vi har et hierarki, så et kontinent borer ind i lande, og hvert land kan bore ind i flere år. Så vi kan manipulere dette indeks, og tingene bliver meget nemmere at kode, når vi bruger dette MultiIndex. Vi vil se på udskæring og også omformning af Gapminder-datasættet.

Indholdsfortegnelse

Sådan bruger du MultiIndex i pandaer

Vi kommer til at bruge Gapminder-datasættet. Hvis du ikke har dette installeret, vil du lave en PIP-installation af Gapminder. Jeg vil også hente pandaer. Jeg bruger Anaconda-distributionen af ​​Python. I så fald vil Pandas allerede være installeret. Vi laver en import af Gapminder, og så tager vi et kig på disse data.

Multiindeks i pandaer til multi-niveau eller hierarkiske data

Som du kan se her, har vi igen et indeks eller hierarki. Jeg må sige, at vi har et kontinent, et land og så et år. I øjeblikket er indekset kun numerisk som dette, og vi vil sætte vores eget indeks lige nu. Og måden vi skal gøre det på er med Gapminder. Vi vil sætte indekset. Vi vil sætte det på kontinent, land og derefter år, inplace er lig med ( = ) sand .

Multiindeks i pandaer til multi-niveau eller hierarkiske data

Dette gemmer blot resultaterne, så vi ikke behøver at kalde variablen to gange, bare lidt mere effektiv. Og nu vil du se, at vi har indekset her (indhold, land, år), og dette er vores multiindeks.

Et par ting vi kunne gøre her. Lad os f.eks. sige, at jeg ville have alt på det europæiske kontinent. Jeg vil filtrere eller dele denne dataramme. Jeg kan bruge gapminder.loc , og derefter skrive i Europa. Du er måske bekendt med loc. Ud fra andre omstændigheder i Pandas fungerer det meget nemmere, når vi gør det efter indekset.

Multiindeks i pandaer til multi-niveau eller hierarkiske data

Nu eksisterer dette i et hierarki. Lad os sige, vi ville kun have data fra Storbritannien. Det ser ud til, at vi bare ville være i stand til at opdele dette, men dette bliver et problem, fordi når vi indekserer dette, holder vi os til at bruge hierarkiet. Vi skal starte med det første niveau og derefter bore til det andet, og det tredje osv.

Hvis jeg ville inkludere flere niveauer, er det, jeg kan gøre, at sende det ind her. Jeg skal til Europa og derefter Storbritannien. Jeg kunne endda gå et skridt videre og sætte 1997. Og nu kan vi se her er resultatet af den række i det tilfælde.

Multiindeks i pandaer til multi-niveau eller hierarkiske data

En anden god ting med MultiIndex i Pandas er, at det er meget nemmere at omforme dataene. Jeg kan lave gapminder_pivot og derefter gapminder.unstack . Hvis jeg af en eller anden grund har brug for at omforme dette datasæt, vil jeg udskrive dette, og du vil se, at nu har vi kontinentet, landet og derefter året sammen med kolonnerne.

Multiindeks i pandaer til multi-niveau eller hierarkiske data

Lad os nu sige, at jeg ville gøre det i den modsatte retning. Alt, hvad jeg skal gøre, er at unpivot, og vi skal lave gapminder_pivot . Hvis det var afstabling, så er dette stabling gapminder_unpivot.

Multiindeks i pandaer til multi-niveau eller hierarkiske data

Hvad nu hvis jeg vil slippe af med dette indeks og nulstille det og ændre det til noget andet? Alt jeg skal gøre i det tilfælde er gapminder_unpivot. Vi skal nulstille_indeks . Vi vil gøre det på plads igen. Vi behøver ikke at spare over sig selv. Det er bare lidt mere effektivt. Derefter, gapminder_unpivot.

Udskriv det, og vi er tilbage til vores originale data, og vi har indekset. Den numeriske start er på nul, fordi Python er nul-baseret indeksering.

Multiindeks i pandaer til multi-niveau eller hierarkiske data




Konklusion

Pandas blev oprindeligt opkaldt efter paneldata. Det er egentlig meningen, at det skal arbejde med paneldata, som er en specifik type tidsseriedata med flere kategorier. I så fald giver det virkelig mening at have et hierarki, ikke?

Dette fungerer rigtig godt, hvis du arbejder med unikke rækker og prøver at finde flere kolonner.

Hvad angår ydeevnen, kan det være, at indekset ikke er nødvendigt, hvis du fusionerer, men vi fusionerede ikke her. Vi var bare i gang med at betjene, tilgå, indeksere, omforme osv. Kodningseffektivitet er dog bestemt en stor fordel.

Så det er alt for MultiIndex i Pandas. Jeg håber, det er noget, du kan bruge. Du lærte noget lidt nyt om pandaer i dag.

Alt det bedste!

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.