MultiIndex v pandách pro víceúrovňová nebo hierarchická data

MultiIndex v Pandas je víceúrovňový nebo hierarchický objekt, který vám umožňuje vybrat více než jeden řádek a sloupec v indexu. Umožňuje také vytvářet sofistikované analýzy a manipulace s daty, zejména pro práci s daty vyšších rozměrů. V tomto tutoriálu se chystám prozkoumat funkci MultiIndex Pandas. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Myšlenka je taková, že máme index, který také obsahuje hierarchii. Pokud jste Pandy dříve používali, víte to, takže k tomu přidáme další vrstvy. To usnadní indexování i přetváření dat v závislosti na tom, zda skutečně máte pro svá data hierarchii.

Jako jeden příklad použijeme slavnou datovou sadu Gapminder, a to je zde skutečně MultiIndex. Máme hierarchii, takže kontinent vrtá do zemí a každá země se může vrtat do několika let. S tímto indexem tedy můžeme manipulovat a při používání tohoto MultiIndexu bude mnohem jednodušší kódovat. Podíváme se na dělení a také přetvoření datové sady Gapminder.

Obsah

Jak používat MultiIndex v Pandas

Budeme používat datovou sadu Gapminder. Pokud toto nemáte nainstalované, chcete provést instalaci PIP Gapminder. Přivedu i pandy. Používám distribuci Anaconda Pythonu. V takovém případě budou tyto Pandy již nainstalovány. Provedeme import Gapminderu a poté se na tato data podíváme.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Jak můžete vidět zde, opět tu máme index nebo hierarchii. Řekl bych, že máme kontinent, zemi a pak rok. V současné době je index pouze číselný, jako je tento, a právě teď si nastavíme vlastní index. A způsob, jakým to uděláme, je s Gapminderem. Nastavíme index. Nastavíme jej na kontinent, zemi a pak rok, inplace se rovná ( = ) true .

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Toto je jen uložení výsledků, takže proměnnou nemusíme volat dvakrát, jen trochu efektivněji. A nyní uvidíte, že zde máme index (obsah, země, rok) a toto je náš multiindex.

Pár věcí, které bychom tu mohli udělat. Řekněme, že jsem například chtěl všechno na evropském kontinentu. Chci filtrovat nebo rozdělit tento datový rámec. Mohu použít gapminder.loc , a pak psát v Evropě. Možná znáte loc. Z jiných okolností v Pandas to funguje mnohem snadněji, když to děláme podle indexu.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Nyní toto existuje v hierarchii. Řekněme, že jsme chtěli data pouze ze Spojeného království. Zdá se, že bychom to byli schopni jen rozdělit, ale to bude problém, protože když to indexujeme, zůstáváme u používání hierarchie. Musíme začít s první úrovní a pak přejít na druhou a třetí a tak dále.

Pokud bych chtěl zahrnout více úrovní, mohu to předat zde. Budu dělat Evropu a pak Spojené království. Mohl bych jít ještě o krok dále a uvést rok 1997. A nyní můžeme vidět výsledek tohoto sporu v tomto případě.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Další pěkná věc s MultiIndexem v Pandas je, že je mnohem snazší přetvořit data. Mohu udělat gapminder_pivot a pak gapminder.unstack . Pokud potřebuji z nějakého důvodu přetvořit tuto datovou sadu, vytisknu to a uvidíte, že nyní spolu se sloupci máme kontinent, zemi a rok.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Nyní řekněme, že jsem to chtěl udělat opačným směrem. Vše, co bych potřeboval udělat, je unpivot a uděláme gapminder_pivot . Pokud to bylo rozbalení, pak se jedná o skládání gapminder_unpivot.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data

Co když se chci tohoto indexu zbavit, resetovat ho a změnit na něco jiného? Vše, co v tom případě musím udělat, je gapminder_unpivot. Jdeme na reset_index . Uděláme to znovu . Nemusíme na sobě šetřit. Jen je to trochu efektivnější. Potom gapminder_unpivot.

Vytiskněte si to a jsme zpět k našim původním datům a máme index. Číselný začátek je na nule, protože Python je indexování založené na nule.

MultiIndex v pandách pro víceúrovňová nebo hierarchická data




Závěr

Pandy byly původně pojmenovány podle údajů panelu. Je to skutečně určeno pro práci s panelovými daty, což je specifický typ dat časové řady s více kategoriemi. V tom případě má hierarchie opravdu smysl, ne?

Funguje to opravdu dobře, pokud pracujete s jedinečnými řádky a snažíte se najít více sloupců.

Pokud jde o výkon, může se stát, že index není nutný, pokud slučujete, ale zde jsme se neslučovali. Právě jsme provozovali, přistupovali, indexovali, přetvářeli atd. Efektivita kódování je však rozhodně velkým přínosem.

Takže to je vše pro MultiIndex v Pandas. Doufám, že to je něco, co můžete použít. Dnes jste se dozvěděli něco nového o Pandách.

Vše nejlepší!


Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Sklízejte nebo zachycujte hodnotu uvnitř míry a znovu ji použijte v jiném taktu pro dynamické výpočty pomocí SELECTEDVALUE DAX v LuckyTemplates.

Historie verzí v seznamech SharePoint

Historie verzí v seznamech SharePoint

Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.

Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.