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ší!

Leave a Comment

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Naučte se, jak rozebrat soubor PBIX a extrahovat motivy a obrázky LuckyTemplates z pozadí pro váš report!

Prehľad a vytvorenie domovskej stránky SharePointu

Prehľad a vytvorenie domovskej stránky SharePointu

Naučte sa, ako vytvoriť domovskú stránku SharePointu, ktorá sa predvolene načítava, keď používatelia zadajú adresu vašej webovej lokality.

Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.