MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

A Pandas MultiIndex egy többszintű vagy hierarchikus objektum, amely lehetővé teszi egynél több sor és oszlop kiválasztását az indexben. Lehetővé teszi továbbá kifinomult adatelemzés és -manipuláció létrehozását, különösen a magasabb dimenziós adatokkal való munkavégzéshez. Ebben az oktatóanyagban a Pandák MultiIndex funkcióját fogom felfedezni. Az oktatóanyag teljes videóját a blog alján tekintheti meg.

Az ötlet az, hogy van egy indexünk, amely egy hierarchiát is tartalmaz. Ha már használta a Pandákat, akkor tudja ezt, ezért további rétegeket fogunk hozzáadni ehhez. Ez megkönnyíti az adatok indexelését és átalakítását, attól függően, hogy valóban van-e hierarchiája az adatok számára.

Például a híres Gapminder adatkészletet fogjuk használni, és ez itt valóban egy MultiIndex. Van egy hierarchiánk, tehát egy kontinens átfúrja az országokat, és minden ország több évre is belefúródhat. Tehát manipulálhatjuk ezt az indexet, és a dolgokat sokkal könnyebb lesz kódolni, ha ezt a MultiIndexet használjuk. Megvizsgáljuk a Gapminder adatkészlet szeletelését és átalakítását is.

Tartalomjegyzék

A MultiIndex használata pandákban

A Gapminder adatkészletet fogjuk használni. Ha ez nincs telepítve, akkor a Gapminder PIP-telepítését szeretné elvégezni. Behozom Pandákat is. A Python Anaconda disztribúcióját használom. Ebben az esetben a Pandákat már telepítik. Csinálunk egy import Gapmindert, majd megnézzük ezeket az adatokat.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Amint itt látható, ismét van egy indexünk vagy hierarchiánk. Azt kell mondanom, van egy kontinensünk, egy országunk, majd egy évünk. Jelenleg az index csak ilyen numerikus, és most beállítjuk a saját indexünket. És ezt a Gapminderrel fogjuk megtenni. Beállítjuk az indexet. A kontinensre, az országra, majd az évre fogjuk beállítani, inplace egyenlő ( = ) true .

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Ez csak az eredmények mentése, így nem kell kétszer meghívnunk a változót, csak egy kicsit hatékonyabban. És most látni fogja, hogy itt van az index (tartalom, ország, év), és ez a mi többindexünk.

Néhány dolgot megtehetnénk itt. Mondjuk én például mindent akartam az európai kontinensen. Szűrni vagy szeletelni szeretném ezt az adatkeretet. Használhatom a gapminder.loc fájlt , majd beírhatom, hogy Europe. Ismerős lehet a loc. A Pandas egyéb körülményei közül ez sokkal könnyebben működik, ha az index alapján tesszük.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Most ez egy hierarchiában létezik. Tegyük fel, hogy csak az Egyesült Királyságból akartuk az adatokat. Úgy tűnik, ezt egyszerűen fel tudjuk szeletelni, de ez probléma lesz, mert amikor ezt indexeljük, a hierarchia használatánál ragadunk. Az első szinttel kell kezdenünk, majd át kell fúrnunk a másodikra, a harmadikra ​​stb.

Ha több szintet szeretnék felvenni, akkor azt itt átadom. Megyek Európát, majd az Egyesült Királyságot. Még egy lépéssel tovább is mehetnék, és 1997-et tennék. És most láthatjuk, hogy ez a sor eredménye abban az esetben.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Egy másik szép dolog a Pandas MultiIndexével, hogy sokkal könnyebb átformálni az adatokat. Meg tudom csinálni a gapminder_pivot , majd a gapminder.unstack fájlt . Ha valamiért át kell alakítanom ezt az adathalmazt, akkor ki fogom nyomtatni, és látni fogod, hogy most megvan a kontinens, az ország, majd az évszám az oszlopokkal együtt.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Tegyük fel, hogy az ellenkező irányba akartam ezt csinálni. Nincs más dolgom, mint unpivot, és meg fogjuk csinálni a gapminder_pivot parancsot . Ha ez kicsomagolás volt, akkor ez a gapminder_unpivot halmozása.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz

Nos, mi van, ha meg akarok szabadulni ettől az indextől, alaphelyzetbe állítani, és valami másra módosítani? Ebben az esetben nem kell mást tennem, mint a gapminder_unpivot. A reset_indexet fogjuk végrehajtani . Ezt ismét a helyére tesszük . Nem kell spórolnunk önmagán. Csak egy kicsit hatékonyabb. Ezután gapminder_unpivot.

Nyomtassa ki, és visszatérünk az eredeti adatokhoz, és megvan az index. A numerikus kezdés nulla, mert a Python nulla alapú indexelés.

MultiIndex Pandákban többszintű vagy hierarchikus adatokhoz




Következtetés

A pandákat eredetileg paneladatokról nevezték el. Valójában arra való, hogy paneladatokkal dolgozzon, amelyek több kategóriájú idősor-adattípusok. Ebben az esetben valóban van értelme a hierarchiának, igaz?

Ez nagyon jól működik, ha egyedi sorokkal dolgozik, és megpróbál több oszlopot keresni.

Ami a teljesítményt illeti, lehet, hogy az index nem szükséges, ha összevonja, de itt nem egyesítettük. Csak működtünk, elértük, indexeltük, átalakítottuk stb. A kódolás hatékonysága azonban mindenképpen nagy előny.

Ez tehát minden a Pandas MultiIndexhez. Remélem, ez valami, amit használhatsz. Ma egy kis újdonságot tanultál a pandákról.

Minden jót!


Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.