MultiIndex in Pandas für mehrstufige oder hierarchische Daten

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

MultiIndex in Pandas ist ein mehrstufiges oder hierarchisches Objekt, mit dem Sie mehr als eine Zeile und Spalte in Ihrem Index auswählen können. Darüber hinaus können Sie anspruchsvolle Datenanalysen und -manipulationen erstellen, insbesondere für die Arbeit mit höherdimensionalen Daten. In diesem Tutorial werde ich die MultiIndex-Funktion von Pandas erkunden. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen.

Die Idee hier ist, dass wir einen Index haben, der auch eine Hierarchie enthält. Wenn Sie Pandas schon einmal verwendet haben, wissen Sie, dass die Datenrahmen von Pandas einen Index enthalten , daher werden wir diesem zusätzliche Ebenen hinzufügen. Dadurch wird sowohl das Indizieren als auch das Umformen der Daten einfacher, je nachdem, ob Sie tatsächlich eine Hierarchie für Ihre Daten haben.

Als Beispiel verwenden wir den berühmten Gapminder-Datensatz, und das ist hier tatsächlich ein MultiIndex. Wir haben eine Hierarchie, also einen Kontinent-Drilling nach Ländern, und jedes Land kann einen Drilling nach mehreren Jahren durchführen. Wir können diesen Index also manipulieren und die Dinge werden viel einfacher zu programmieren sein, wenn wir diesen MultiIndex verwenden. Wir werden uns mit der Aufteilung und Umformung des Gapminder-Datensatzes befassen.

Inhaltsverzeichnis

So verwenden Sie den MultiIndex in Pandas

Wir werden den Gapminder-Datensatz verwenden. Wenn Sie dies nicht installiert haben, möchten Sie eine PIP-Installation von Gapminder durchführen. Ich werde auch Pandas mitbringen. Ich verwende die Anaconda-Distribution von Python. In diesem Fall wird Pandas bereits installiert sein. Wir führen einen Gapminder-Import durch und schauen uns dann diese Daten an.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Wie Sie hier sehen können, haben wir wieder einen Index oder eine Hierarchie. Ich würde sagen, wir haben einen Kontinent, ein Land und dann ein Jahr. Derzeit ist der Index nur numerisch und wir werden jetzt unseren eigenen Index festlegen. Und das werden wir mit Gapminder tun. Wir werden den Index festlegen. Wir werden es auf Kontinent, Land und dann Jahr festlegen, inplace equal ( = ) true .

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Dadurch werden lediglich die Ergebnisse gespeichert, sodass wir die Variable nicht zweimal aufrufen müssen, was nur etwas effizienter ist. Und jetzt sehen Sie, dass wir hier den Index haben (Inhalt, Land, Jahr) und das ist unser Multi-Index.

Ein paar Dinge, die wir hier tun könnten. Nehmen wir zum Beispiel an, ich wollte alles auf dem europäischen Kontinent. Ich möchte diesen Datenrahmen filtern oder aufteilen. Ich kann „gapminder.loc“ verwenden und dann „Europa“ eingeben. Möglicherweise kennen Sie loc. Unter anderen Umständen in Pandas funktioniert es viel einfacher, wenn wir es über den Index tun.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Dies existiert nun in einer Hierarchie. Nehmen wir an, wir wollten nur die Daten aus dem Vereinigten Königreich. Es sieht so aus, als könnten wir das einfach aufteilen, aber das wird ein Problem sein, denn wenn wir es indizieren, bleiben wir bei der Verwendung der Hierarchie. Wir müssen mit der ersten Ebene beginnen und dann zur zweiten und dritten Ebene usw. übergehen.

Wenn ich mehrere Ebenen einbeziehen möchte, kann ich es hier übergeben. Ich werde Europa und dann das Vereinigte Königreich besuchen. Ich könnte sogar noch einen Schritt weiter gehen und 1997 nennen. Und jetzt können wir hier das Ergebnis dieser Reihe in diesem Fall sehen.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Eine weitere schöne Sache mit dem MultiIndex in Pandas ist, dass es viel einfacher ist, die Daten umzuformen. Ich kann „gapminder_pivot“ und dann „gapminder.unstack“ ausführen . Wenn ich diesen Datensatz aus irgendeinem Grund umformen muss, drucke ich ihn aus und Sie werden sehen, dass wir jetzt den Kontinent, das Land und dann das Jahr zusammen mit den Spalten haben.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Nehmen wir an, ich wollte das in die entgegengesetzte Richtung machen. Alles, was ich tun müsste, ist unpivot und wir werden „gapminder_pivot“ ausführen . Wenn das Entstapeln war, dann ist dies Stapeln von Gapminder_unpivot.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten

Was ist nun, wenn ich diesen Index entfernen, zurücksetzen und in einen anderen ändern möchte? Alles, was ich in diesem Fall tun muss, ist Gapminder_unpivot. Wir werden den Index zurücksetzen . Wir werden das wieder integrieren . Wir müssen nicht über sich selbst sparen. Es ist nur etwas effizienter. Dann, gapminder_unpivot.

Wenn Sie das ausdrucken, kehren wir zu unseren ursprünglichen Daten zurück und haben den Index. Der numerische Beginn liegt bei Null, da Python eine nullbasierte Indizierung durchführt.

MultiIndex in Pandas für mehrstufige oder hierarchische Daten


Python in LuckyTemplates: So installieren und richten Sie
Python-Skripte in LuckyTemplates-Datenberichten ein
. LuckyTemplates mit Python-Skripten zum Erstellen von Datumstabellen

Abschluss

Pandas wurde ursprünglich nach Paneldaten benannt. Es ist eigentlich für die Arbeit mit Paneldaten gedacht, bei denen es sich um eine bestimmte Art von Zeitreihendaten mit mehreren Kategorien handelt. Dann macht eine Hierarchie wirklich Sinn, oder?

Dies funktioniert sehr gut, wenn Sie mit eindeutigen Zeilen arbeiten und versuchen, mehrere Spalten zu finden.

Was die Leistung betrifft, könnte es sein, dass der Index bei einer Zusammenführung nicht erforderlich ist, aber wir haben hier nicht zusammengeführt. Wir haben lediglich operiert, darauf zugegriffen, indiziert, umgestaltet usw. Die Codierungseffizienz ist jedoch definitiv ein großer Vorteil.

Das ist also alles für MultiIndex in Pandas. Ich hoffe, das ist etwas, das Sie nutzen können. Sie haben heute etwas Neues über Pandas erfahren.

Alles Gute!


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst