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!

Leave a Comment

E-mail melléklet mentése SharePointba a Power Automate segítségével

E-mail melléklet mentése SharePointba a Power Automate segítségével

Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Power Automate folyamatok létrehozása a semmiből

A Power Automate folyamatok létrehozása a semmiből

Ismerje meg, hogyan hozhat létre <strong>Power Automate</strong> folyamatokat a semmiből. Sablon használata helyett mi magunk hozzuk létre a kiváltó okokat és a műveleteket.

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Ebben az útmutatóban bemutatom, hogyan lehet Pénzügyi információk mátrixát létrehozni a Profit és veszteség (P&L) kimutatással a LuckyTemplates alkalmazásban.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Fedezze fel, hogyan lehet dinamikusan egyesíteni oszlopokat a Power Query Table.CombineColumns függvény segítségével.

SharePoint-fájlok hozzáadása a számítógéphez

SharePoint-fájlok hozzáadása a számítógéphez

Ismerje meg, hogyan adhatjuk hozzá és szinkronizálhatjuk SharePoint-fájljainkat az asztalon és a OneDrive-on.

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.