MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

MultiIndex în Pandas este un obiect cu mai multe niveluri sau ierarhic care vă permite să selectați mai multe rânduri și coloane în index. De asemenea, vă permite să creați analiză și manipulare a datelor sofisticate, în special pentru lucrul cu date de dimensiuni mai mari. În acest tutorial, voi explora caracteristica MultiIndex a lui Pandas. Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Ideea aici este că avem un index care conține și o ierarhie. Dacă ați mai folosit Pandas, știți că cadrele de date ale lui Pandas conțin un index , așa că vom adăuga straturi suplimentare la acesta. Acest lucru va face atât indexarea, cât și remodelarea datelor mai ușoare, în funcție de dacă aveți într-adevăr o ierarhie pentru datele dvs.

Pentru un exemplu, vom folosi faimosul set de date Gapminder, iar acesta este într-adevăr un MultiIndex aici. Avem o ierarhie, așa că un continent analizează țările și fiecare țară poate analiza mai mulți ani. Deci, putem manipula acest index și lucrurile vor fi mult mai ușor de codificat atunci când folosim acest MultiIndex. Ne vom uita la tăierea și, de asemenea, remodelarea setului de date Gapminder.

Cuprins

Cum să utilizați MultiIndex în Pandas

Vom folosi setul de date Gapminder. Dacă nu aveți acest lucru instalat, doriți să faceți o instalare PIP Gapminder. O să aduc și eu pandași. Folosesc distribuția Anaconda din Python. În acest caz, acel Pandas va fi deja instalat. Facem un import Gapminder și apoi ne vom uita la aceste date.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

După cum puteți vedea aici, avem din nou un index sau ierarhie. Ar trebui să spun că avem un continent, o țară și apoi un an. În prezent, indexul este doar numeric ca acesta și ne vom seta propriul index chiar acum. Și modul în care vom face asta este cu Gapminder. Vom seta indexul. Îl vom seta pe continent, țară și apoi an, inplace equals ( = ) true .

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

Aceasta înseamnă doar salvarea rezultatelor, deci nu trebuie să apelăm variabila de două ori, doar puțin mai eficient. Și acum, veți vedea că avem aici indexul (conținut, țară, an) și acesta este multi-indexul nostru.

Câteva lucruri pe care le-am putea face aici. Să zicem, de exemplu, că mi-am dorit totul pe continentul Europa. Vreau să filtrez sau să feliez acest cadru de date. Pot să folosesc gapminder.loc și apoi să scriu în Europa. S-ar putea să fiți familiarizat cu loc. Din alte circumstanțe în Pandas, funcționează mult mai ușor atunci când o facem prin index.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

Acum aceasta există într-o ierarhie. Să zicem că am vrut doar datele din Regatul Unit. Se pare că am fi capabili să tăiem acest lucru, dar aceasta va fi o problemă, deoarece atunci când indexăm acest lucru, suntem blocați să folosim ierarhia. Trebuie să începem cu primul nivel, apoi să trecem la al doilea, și la al treilea, etc.

Dacă vreau să includ mai multe niveluri, ceea ce pot face este să le trec aici. O să fac Europa, apoi Regatul Unit. Aș putea chiar să fac un pas mai departe și să pun 1997. Și acum, putem vedea aici rezultatul acelui rând în cazul respectiv.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

Un alt lucru frumos cu MultiIndex în Pandas este că este mult mai ușor să remodelați datele. Pot face gapminder_pivot și apoi gapminder.unstack . Dacă trebuie să remodelez acest set de date, dintr-un motiv oarecare, voi tipări asta și veți vedea că acum avem continentul, țara și apoi anul împreună cu coloanele.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

Acum, să presupunem că am vrut să fac asta în direcția opusă. Tot ce ar trebui să fac este să dezactivez pivotul și vom face gapminder_pivot . Dacă aceasta a fost dezasamblare, atunci aceasta este stacking gapminder_unpivot.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice

Acum, ce se întâmplă dacă vreau să scap de acest index și să-l resetez și să-l schimb cu altceva? Tot ce trebuie să fac în acest caz este gapminder_unpivot. Vom reset_index . O să facem asta din nou . Nu trebuie să economisim de la sine. Este doar puțin mai eficient. Apoi, gapminder_unpivot.

Imprimați asta și revenim la datele noastre originale și avem indexul. Numărul de pornire este la zero deoarece Python este indexare pe bază de zero.

MultiIndex în Pandas pentru date pe mai multe niveluri sau ierarhice


Python în LuckyTemplates: Cum să instalați și să configurați
scripturi Python în rapoartele de date Power
BI LuckyTemplates cu scripturi Python pentru a crea tabele de date

Concluzie

Pandas a fost numit inițial după datele panoului. Este într-adevăr menit să lucreze cu date de panou, care este un tip specific de date de serie cronologică cu mai multe categorii. În acest caz, a avea o ierarhie chiar are sens, nu?

Acest lucru funcționează foarte bine dacă lucrați cu rânduri unice, încercând să găsiți mai multe coloane.

În ceea ce privește performanța, s-ar putea ca indexul să nu fie necesar dacă comasați, dar noi nu fuzionam aici. Tocmai operam, accesam, indexam, remodelam etc. Cu toate acestea, eficiența codării este cu siguranță un mare beneficiu.

Deci asta este totul pentru MultiIndex în Pandas. Sper că acesta este ceva pe care îl puteți folosi. Ai învățat ceva puțin nou despre Panda astăzi.

Toate cele bune!

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți