Pandas flach Multiindex ab

Pandas flach Multiindex ab
MultiIndex ist eine Reihe komplexer Indexierungsmethoden für Datenrahmen. Es ermöglicht die Indizes, zahlreiche Ebenen zu haben. Es kann auch als Multi-Level-Index oder hierarchischer Index bezeichnet werden. Das Multiindex -Objekt liefert eine hierarchische Darstellung des Standardindexobjekts, das häufig die Beschriftungen von Achsen in den Objekten der Pandas enthält. MultiIndex kann mit einer Reihe von Tupeln verglichen werden, von denen jeder unterschiedlich ist. Sie benötigen kaum eine Spalte mit einem hierarchischen Index in Pandas. Meistens möchten Sie nur einen einzelnen Spaltennamen verwenden, um eine Spalte zu identifizieren. In diesem Tutorial werden wir den MultiIndex -Datenframe unter Verwendung einiger Funktionen von Pandas verflachten.

Wie der Multiindex in Pandas abgeflacht werden kann

Die Funktionen wie reset_index und to_records () können verwendet werden, um den MultiIndex zu verflachen. Wir werden Ihnen beibringen, wie Sie den Multiindex in den folgenden Beispielen verflachten können.

Beispiel 1: Abflachung des MultiIndex aller Ebenen mithilfe der Funktion reset_index ()

Mit der Funktion reset_index () werden wir in diesem Beispiel alle Schichten des Datenrahmens verflachten. Die Liste der Tupel wird unter Verwendung der Methode from_tUples () in MultiIndex konvertiert. Wir können auf verschiedene Weise einen Multiindex erstellen, und dies ist die häufigste von ihnen.

Zunächst erstellen wir unseren MultiIndex "Mi", indem wir die mehreren Tupel - ('English', '1201', 800), ('Maths', '1202', 900), ('Bio', '1203', 1050) übergeben, indem wir die mehreren Tupel bestanden haben. , ("Physik", "1204", 1050) und ("Chemie", "1205", 1100) im PD.MultiIndex.Von_tUples () Funktion. Die Spaltennamen von Tupel werden als "Betreff", "Subjekt_ID" und "Fee" angegeben. Nachdem wir den MultiIndex „Mi“ erstellt haben, erstellen wir auch einen Pandas -Datenframe mit der PD.DataFrame () -Funktion. Wir verabschieden ein Wörterbuch mit den Namen der Schüler als Schlüssel und die Noten der Schüler als Werte in unserem Datenfrequenz.

Wir haben 3 Spalten - "Mike", "Jack" und "Eva" - mit den Datenwerten (49, 43, 39, 41, 37), (36, 35, 41, 36, 42) und (46, 44, 39, 46, 48). Sie werden möglicherweise feststellen, dass der MultiIndex "Mi" als "Index" -Parameter innerhalb der PD angegeben wird.DataFrame () -Funktion, die Spalten der Tupel wirken als Mehrstufe-Indizes. Jetzt verwenden wir die Funktion reset_index (), um die Multi -Indizes in DataFrame -Spalten zu ändern. Der Multi-Level-Index kann als neue DataFrame-Spalte mit dem reset_index () hinzugefügt werden. Das Drop -Argument kann in der Funktion reset_index () verwendet werden, wenn wir den Index nicht als Spalte ändern möchten. Anstatt eine neue Kopie zu erstellen, können wir den aktuellen DataFrame -Index mithilfe des vorhandenen Arguments zurücksetzen.

Es ist zu bemerken, dass alle drei Indexstufen in die Spalte unseres "DF" -Datenframes geändert werden. Der Index wird auch auf den Pandas -Standard -Ganzzahlindex zurückgesetzt.

Beispiel 2: Verflachung der spezifischen Multiindex -Ebenen mit der Funktion reset_index (),

Der Ansatz, um alle Multiindex -Ebenen in Spalten des Datenrahmens zu verflachten, wurde im vorhergehenden Beispiel demonstriert. Jetzt lernen wir, wie Sie die spezifischen Ebenen des Index in Spalten des Datenrahmens unter Verwendung der Funktion reset_index () in die Spalten des Datenrahmens überfließen lassen. Ein Datenrahmen kann auf verschiedene Weise mit Pandas multiIndex erstellt werden. Wir haben bereits diejenige gesehen, die die von der Tupel -Methode verwendet. Erstellen wir einen MultiIndex mit der Funktion from_array ().

Wir übergeben drei Arrays und geben ihre Namen als „L1“ mit den numerischen Indexwerten an (11, 22, 33, 44, 55). Wir geben „L2“ mit String -Werten ('I', 'II', 'III', 'IV', 'V') und „L3“ mit ganzzahligen Indexwerten (1, 2, 3, 4, 5) an. Jetzt verwenden wir diesen MultiIndex „Mi“ im PD.DataFrame () -Funktion zum Erstellen eines MultiIndex -Datenframe.

Um unseren Datenrahmen zu erstellen, erstellen wir zunächst ein Python-Wörterbuch „Daten“ mit Schlüsselwertenpaaren. Dann wird das Wörterbuch „Daten“ in der PD übergeben.DataFrame () -Funktion als Eingabe. Der Parameter „Spalten“ wird als ['Abteilung', 'Ausgabe'] angegeben, um die Schlüssel und Werte des Wörterbuchs in Beschriftungen und Spaltendaten des Pandas -Datenfreams zu ändern. Der Parameterindex wird als „MI“ angegeben, um die MultiIndex -Ebenen im Datenrahmen "DF" festzulegen. Jetzt verwenden wir die Funktion reset_index (), um eine oder mehrere Ebenen des MultiIndex in Spalten zu verflachten.

Syntax, um die spezifische Ebene mit reset_index () zu verflachen:

Datenrahmen.reset_index (inplace = true, Level = ['Name der Ebene'])

Der Name der Ebene des Index, die wir abflachen möchten, ist im Parameter „Level“ angegeben.

Nehmen wir an, wir müssen den „L1“ -Index in die Spalte des Datenrahmens überflachen.

Es ist zu bemerken, dass durch Angabe des Parameters „Level“ als „L1“ innerhalb der Funktion reset_index () der Index „L1“ erfolgreich in eine Spalte abgeflacht wird. Durch die Verwendung der Liste der Indexpegel im Parameter „Ebene“ können wir die mehreren Indizes in DataFrame -Spalten verflachten. Verwenden wir eine Liste von Indizes „L2“ und „L3“ im Parameter „Level“ in der Funktion reset_index ().

Wie zu sehen ist, wird ich durch Angabe des Parameters „Ebene“ als Indexebene angeben, i.e. ['L2', 'L3'], die Indexstufe „L2“ und „L3“ werden jetzt ebenfalls in Spalten umgewandelt.

Beispiel 3: Verflachung der MultiIndex -Ebenen mit der Funktion to_records ()

In diesem Beispiel werden wir die Indexebenen des DataFrame mithilfe der Funktion to_records () verflachen. Um die Tupel in MultiIndex zu verwandeln, werden wir noch einmal die Funktion forx_tUples () verwenden. Wir importieren zuerst die Pandas -Module, dann erstellen wir den MultiIndex und den DataFrame.

Der MultiIndex "Mi" wird mit den mehreren Tupeln erstellt, ich.e. ('1001', 'c11', 80), ('1002', 'C12', 75), ('1003', 'C13', 90), ('1004', 'C14', 95) und (( '1005', 'C15', 70). Die Namen für die Indexstufen im MultiIndex werden als "ID", "Code" und "Schwierigkeitsgrad" angegeben. Lassen Sie uns nun unseren Datenrahmen erstellen, in dem wir diesen MultiIndex verwenden können.

Unser DataFrame wird mit der PD erstellt.DataFrame () -Funktion. Unser Datenrahmen besteht aus drei Spalten. Die Spalte "Subjekt" speichert die Namen der Themen ("Bio", "Chemie", "C ++", "Statistiken", "Python"). Die Spalte „Feld“ steckt die Zeichenfolgenwerte, die das Feld jedes Faches darstellen ('Science', 'Science', 'Programming', 'Maths', 'Programming'). Während er die Spalte "Passing_marks" speichert. In unserem Datenrahmen befindet sich ein Drei-Stufe-Index, wie Sie auf der linken Seite unseres DF-Datenrahmens sehen können.

Da unser Datenrahmen mit MultiIndex jetzt erstellt wird. Ein Datenrahmen kann mit der Funktion to_records () in ein Numpy -Array umgewandelt werden. Auf Wunsch wird der Index als erstes Feld des Rekordarrays eingestellt. Wenn festgelegt, geben Sie den Index in das resultierende Datensatzarray mit der Indexbezeichnung oder dem in der Feldbezeichnung gespeicherten Index ein. In diesem Beispiel werden wir jedoch einfach die Funktion to_record () verwenden, um die Multilevel -Indizes von MultiIndex DataFrame in einfache Datenrahmenspalten zu ändern.

Wie in der Ausgabe zu sehen ist, werden alle Indexstufen erfolgreich in die Datenfrequenzspalte konvertiert. Im Gegensatz zur Funktion reset_index () können wir einen bestimmten Index nicht in die Spalte überflachen. Wenn es auf den Datenrahmen angewendet wird, wird alle Multi -Indizes auf DataFrame -Spalten angewendet.

Abschluss

In diesem Tutorial haben wir gesehen. Es ermöglicht die Indizes, zahlreiche Ebenen zu haben. Wir haben gelernt, wie man einen MultiIndex mit Tupeln und Arrays erstellt, die mit den Funktionen von _tUples () bzw. von_array () unter Verwendung der Funktionen. Wir haben die Beispiele implementiert, um Ihnen zu vermitteln.