MultiIndex i pandor för flera nivåer eller hierarkiska data

MultiIndex i Pandas är ett flernivå- eller hierarkiskt objekt som låter dig välja mer än en rad och kolumn i ditt index. Det gör det också möjligt för dig att skapa sofistikerad dataanalys och manipulation, särskilt för att arbeta med högre dimensionell data. I den här handledningen ska jag utforska MultiIndex-funktionen i Pandas. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Tanken här är att vi har ett index som också innehåller en hierarki. Om du har använt Pandas tidigare vet du det, så vi kommer att lägga till ytterligare lager till det. Det kommer att göra både indexering och omformning av data lättare, beroende på om du verkligen har en hierarki för dina data.

Till exempel kommer vi att använda den berömda Gapminder-datauppsättningen, och detta är verkligen ett MultiIndex här. Vi har en hierarki, så en kontinent borrar i länder, och varje land kan borra in i flera år. Så vi kan manipulera detta index och saker kommer att bli mycket lättare att koda när vi använder detta MultiIndex. Vi ska titta på skivning och även omforma Gapminder-datauppsättningen.

Innehållsförteckning

Hur man använder MultiIndex i pandor

Vi kommer att använda Gapminder-datauppsättningen. Om du inte har detta installerat vill du göra en PIP-installation Gapminder. Jag ska ta in Pandas också. Jag använder Anaconda-distributionen av Python. I så fall kommer att Pandas redan att installeras. Vi importerar Gapminder och sedan tar vi en titt på denna data.

MultiIndex i pandor för flera nivåer eller hierarkiska data

Som du kan se här har vi återigen ett index eller hierarki. Jag skulle säga att vi har en kontinent, ett land och sedan ett år. För närvarande är indexet bara numeriskt så här, och vi kommer att sätta vårt eget index just nu. Och sättet vi ska göra det är med Gapminder. Vi ska sätta indexet. Vi kommer att ställa in det på kontinent, land och sedan år, inplace är lika med ( = ) sant .

MultiIndex i pandor för flera nivåer eller hierarkiska data

Detta sparar bara resultaten, så vi behöver inte anropa variabeln två gånger, bara lite mer effektiv. Och nu kommer du att se att vi har indexet här, (innehåll, land, år) och det här är vårt multiindex.

Ett par saker vi kan göra här. Låt oss säga att jag till exempel ville ha allt på den europeiska kontinenten. Jag vill filtrera eller dela den här dataramen. Jag kan använda gapminder.loc och sedan skriva i Europa. Du kanske är bekant med loc. Från andra omständigheter i Pandas fungerar det mycket lättare när vi gör det med index.

MultiIndex i pandor för flera nivåer eller hierarkiska data

Nu finns detta i en hierarki. Låt oss säga att vi bara ville ha data från Storbritannien. Det verkar som om vi bara skulle kunna skära upp det här, men det här kommer att bli ett problem för när vi indexerar det här, har vi fastnat för att använda hierarkin. Vi måste börja med den första nivån och sedan borra till den andra och den tredje, et cetera.

Om jag ville inkludera flera nivåer, vad jag kan göra är att skicka in det här. Jag ska göra Europa, och sedan Storbritannien. Jag skulle till och med kunna gå ett steg längre och sätta 1997. Och nu kan vi se här är resultatet av den raden i så fall.

MultiIndex i pandor för flera nivåer eller hierarkiska data

En annan trevlig sak med MultiIndex i Pandas är att det är mycket lättare att omforma data. Jag kan göra gapminder_pivot och sedan gapminder.unstack . Om jag behöver omforma denna datamängd, av någon anledning, kommer jag att skriva ut den här och du kommer att se att nu har vi kontinenten, landet och sedan år tillsammans med kolumnerna.

MultiIndex i pandor för flera nivåer eller hierarkiska data

Låt oss säga att jag ville göra det i motsatt riktning. Allt jag behöver göra är att unpivot och vi kommer att göra gapminder_pivot . Om det var avstapling, då är detta att stapla gapminder_unpivot.

MultiIndex i pandor för flera nivåer eller hierarkiska data

Nu, vad händer om jag vill bli av med det här indexet och återställa det och ändra det till något annat? Allt jag behöver göra i så fall är gapminder_unpivot. Vi kommer att återställa_index . Vi kommer att göra det på plats igen. Vi behöver inte spara över sig själva. Det är bara lite mer effektivt. Sedan, gapminder_unpivot.

Skriv ut det och vi är tillbaka till vår ursprungliga data och vi har indexet. Den numeriska startpunkten är noll eftersom Python är nollbaserad indexering.

MultiIndex i pandor för flera nivåer eller hierarkiska data




Slutsats

Pandas fick ursprungligen sitt namn efter paneldata. Det är egentligen menat att fungera med paneldata, vilket är en specifik typ av tidsseriedata med flera kategorier. I så fall är det verkligen vettigt att ha en hierarki, eller hur?

Detta fungerar riktigt bra om du arbetar med unika rader och försöker hitta flera kolumner.

När det gäller prestandan kan det vara så att indexet inte är nödvändigt om du slår samman, men vi slog inte ihop här. Vi höll precis på att operera, komma åt, indexera, omforma, etc. Kodningseffektivitet är dock definitivt en stor fördel.

Så det är allt för MultiIndex i Pandas. Jag hoppas att detta är något som du kan använda. Du lärde dig något lite nytt om Pandas idag.

Med vänliga hälsningar!


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.