MultiIndex in pandas voor gegevens op meerdere niveaus of hiërarchische gegevens

MultiIndex in pandas voor gegevens op meerdere niveaus of hiërarchische gegevens

MultiIndex in Panda's is een multi-level of hiërarchisch object waarmee u meer dan één rij en kolom in uw index kunt selecteren. Het stelt u ook in staat om geavanceerde gegevensanalyse en -manipulatie te maken, vooral voor het werken met hoger-dimensionale gegevens. In deze zelfstudie ga ik de MultiIndex-functie van Panda's verkennen. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Het idee hier is dat we een index hebben die ook een hiërarchie bevat. Als je eerder Panda's hebt gebruikt, weet je dat de dataframes van Panda's een index bevatten , dus daar gaan we extra lagen aan toevoegen. Dat maakt zowel het indexeren als het hervormen van de gegevens eenvoudiger, afhankelijk van of u inderdaad een hiërarchie voor uw gegevens heeft.

We gaan bijvoorbeeld de beroemde Gapminder-gegevensset gebruiken, en dit is hier inderdaad een MultiIndex. We hebben een hiërarchie, dus een continent boort naar landen, en elk land kan meerdere jaren boren. We kunnen deze index dus manipuleren en dingen zullen een stuk eenvoudiger te coderen zijn als we deze MultiIndex gebruiken. We gaan kijken naar het snijden en ook het hervormen van de Gapminder-gegevensset.

Inhoudsopgave

Hoe de MultiIndex in Panda's te gebruiken

We gaan de gegevensset van Gapminder gebruiken. Als je dit niet hebt geïnstalleerd, wil je een PIP-installatie Gapminder doen. Ik ga ook panda's binnenhalen. Ik gebruik de Anaconda-distributie van Python. In dat geval wordt die Panda al geïnstalleerd. We doen een import Gapminder, en dan gaan we deze data bekijken.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Zoals je hier kunt zien, hebben we weer een index of hiërarchie. Ik zou zeggen dat we een continent hebben, een land en dan een jaar. Momenteel is de index gewoon numeriek, en we gaan nu onze eigen index instellen. En de manier waarop we dat gaan doen is met Gapminder. We gaan de index instellen. We gaan het instellen op continent, land en dan jaar, inplace equals ( = ) true .

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Dit is alleen het opslaan van de resultaten, dus we hoeven de variabele niet twee keer aan te roepen, alleen iets efficiënter. En nu zul je zien dat we hier de index hebben (inhoud, land, jaar) en dit is onze multi-index.

Een paar dingen die we hier kunnen doen. Laten we bijvoorbeeld zeggen dat ik alles op het Europese continent wilde hebben. Ik wil dit dataframe filteren of segmenteren. Ik kan gapminder.loc gebruiken en dan Europa typen. U bent misschien bekend met loc. Vanuit andere omstandigheden in Panda's werkt het een stuk gemakkelijker als we het doen via de index.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Nu bestaat dit in een hiërarchie. Laten we zeggen, we wilden alleen de gegevens uit het Verenigd Koninkrijk. Het lijkt erop dat we dit gewoon kunnen opsplitsen, maar dit wordt een probleem, want als we dit indexeren, zitten we vast aan het gebruik van de hiërarchie. We moeten beginnen met het eerste niveau, en dan boren naar het tweede, en het derde, et cetera.

Als ik meerdere niveaus wil opnemen, kan ik het hier doorgeven. Ik ga Europa doen, en dan het Verenigd Koninkrijk. Ik zou zelfs nog een stap verder kunnen gaan en 1997 noemen. En nu kunnen we zien dat hier het resultaat is van die rij in dat geval.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Een ander voordeel van de MultiIndex in Panda's is dat het een stuk eenvoudiger is om de gegevens opnieuw vorm te geven. Ik kan gapminder_pivot doen en dan gapminder.unstack . Als ik deze dataset om de een of andere reden moet hervormen, ga ik dit afdrukken en je zult zien dat we nu het continent, het land en dan het jaar samen met de kolommen hebben.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Laten we zeggen dat ik dat in de tegenovergestelde richting wilde doen. Alles wat ik zou moeten doen is unpivot en we gaan gapminder_pivot doen . Als dat ontstapelen was, dan is dit het stapelen van gapminder_unpivot.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens

Wat nu als ik van deze index af wil en deze wil resetten en in iets anders wil veranderen? Het enige wat ik in dat geval hoef te doen is gapminder_unpivot. We gaan reset_index . We gaan dat weer op zijn plaats maken . We hoeven niet over zichzelf te sparen. Het is net iets efficiënter. Vervolgens gapminder_unpivot.

Druk dat af en we zijn terug bij onze oorspronkelijke gegevens en we hebben de index. Het numerieke begin is nul omdat Python op nul gebaseerde indexering is.

MultiIndex in panda's voor gegevens op meerdere niveaus of hiërarchische gegevens


Python in LuckyTemplates: Python-scripts installeren en instellen
in LuckyTemplates-gegevensrapporten
LuckyTemplates met Python-scripts om datumtabellen te maken

Conclusie

Panda's is in eerste instantie vernoemd naar panelgegevens. Het is echt bedoeld om te werken met paneelgegevens, wat een specifiek type tijdreeksgegevens is met meerdere categorieën. In dat geval is het hebben van een hiërarchie echt logisch, toch?

Dit werkt heel goed als u met unieke rijen werkt en meerdere kolommen probeert te vinden.

Wat de prestaties betreft, kan het zijn dat de index niet nodig is als u samenvoegt, maar we waren hier niet aan het samenvoegen. We waren gewoon aan het werken, toegang krijgen, indexeren, hervormen, enz. Efficiëntie van coderen is echter absoluut een groot voordeel.

Dus dat is alles voor MultiIndex in Panda's. Ik hoop dat dit iets is dat je kunt gebruiken. Je hebt vandaag iets nieuws geleerd over panda's.

Al het beste!


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten