Pandas Change Index

Pandas Change Index
In diesem Artikel werden wir versuchen, Ihnen beizubringen, wie Sie den Index des Pandas DataFrame entweder mit einer Liste von Beschriftungen oder den bereits bestehenden Spalten festlegen können. Wir behandeln alle Situationen, in denen die neuen Zeilenbezeichnungen zugewiesen sind oder die vorhandenen geändert werden müssen. Die tabellarische Struktur im Pandas -Paket wird als Datenrahmen bezeichnet. Jede Zeile und Spalte wird durch ihr Etikett dargestellt. Ein Index ist eine Zeilenbezeichnung, während eine Spaltenbezeichnung ein Spaltenindex oder Header ist. Python Pandas definieren standardmäßig einen Zahlenbereich (ab 0) als Index für Zeilen beim Generieren eines Datenrahmens. Jede Zeile wird mit einem Zeilenindex eindeutig identifiziert. Wir werden die Funktion set_index () verwenden, um die Indizes der Zeilen im Datenrahmen zu ändern, die wir erstellt oder standardmäßig erstellt wurden.

So ändern Sie den Index in Pandas -Spalten

Wir können eine der Spalten im DataFrame in den Index mit der Methode Pandas set_index in den Index einstellen. Um zu verstehen, wie die Methode set_index () funktioniert, schauen wir uns ihre Syntax an.

Syntax für den Datenrahmen.set_index

Datenrahmen.set_index (Schlüssel, Drop = true, append = false, inplace = false, verify_integrity = false)

Parameter

  • Schlüssel: Name einer Spalte oder einer Reihe von Spaltennamen.
  • tropfen: Wenn wahr, löst der Boolesche Wert die Indexspalte ab.
  • anhängen: Wenn wahr, fügt sie die Spalte zur bereits vorhandenen Indexspalte hinzu.
  • an Ort und Stelle: Wenn wahr, wendet es die Änderungen am Datenrahmen an.
  • verify_integrity: Wenn wahr, prüfen Sie, ob in der neuen Indexspalte Duplikate vorhanden sind.

Wie wir in der Syntax gesehen haben, werden wir nun sehen.

Beispiel 1: Festlegen des Index des DataFrame mithilfe von set_index () funktion

Zuerst wird ein Beispieldatenrahmen mit einigen Zeilen und Spalten erstellt. Hier wird nur ein einfacher Datenrahmen erstellt. Name, Alter, Betreff und Gebühr sind die vier Spalten oder Variablen im DataFrame „DF.”

Wir haben das PANDAS -Modul zuerst importiert, um die von der Bibliothek bereitgestellten Funktionen und Funktionen zu verwenden. Dann wird ein Wörterbuch in Parametern der PD übergeben.DataFrame () fungiert als Argument zum Erstellen eines DF -Datenrahmens.

Beachten Sie, dass sich auf der linken Seite des angezeigten Datenfreframe am Anfang jeder Zeile eine Zahl befindet (die Zahlen von 0 bis 6). Diese Zahlen sind als Indizes bekannt. Jetzt verwenden wir die Methode pandas set_index (), um den Index des Datenrahmens „DF“ festzulegen. Um dies zu erreichen, müssen wir den Namen des Datenrahmens eingeben, gefolgt von einem "Punkt" und dann den Methodamen "Set index ()" ". Wir verwenden den Spaltennamen zwischen den Klammern der Funktion set_index ().

Die Spalte „Gebühren“ hat den Platz des vorherigen Ganzzahlindex (0 bis 6) eingenommen. Wir haben die Spalte „Fee“ in der Funktion set_index () als Argument übergeben, um sie als Zeilenindex unseres Datenrahmens festzulegen.

Beispiel 2: Festlegen des Index des Datenrahmens mit einer Liste

Wir können dem DataFrame auch eine Liste von Etiketten zur Verfügung stellen, die entweder Zeichenfolgen oder Zahlen sein können. Wir verwenden die Funktion set_index (), um einen neuen Index im DataFrame mit dem Listenobjekt zu erstellen. Erstellen wir unseren Datenrahmen nach dem Importieren der PANDAS -Module mit einem Dummy -Daten.

Unser DataFrame wird mit drei Spalten erstellt - "Name", "Alter" und "Land" - das Speichern der Dummy -Daten. Verwenden nun eine Liste von Labels, wird ein Python -Index erstellt, den wir dann an den DataFrame übergeben werden.Setzen Sie die Funktion index () als Eingabe.

Wir haben eine Liste mit den Etiketten von Zeilen-Indexen ['r1', 'r2', 'r3', 'r4', 'r5', 'r6'] an die PD übergeben.Index () Funktion und der Variablen "Index" zugewiesen. Die Variable wird dann als Argument in den Klammern der Funktion set_index () übergeben, um die Indexe des DataFrame festzulegen.

Wie aus dem angegebenen Datenfreame zu sehen ist, ersetzte unsere angegebene Liste den Standardindex des DataFrame durch Beschriftungen („R1“, „R2“, „R3“, „R4“, „R5“, „R6“).

Beispiel 3: Festlegen des Index des Datenrahmens mit mehreren Spalten

Datenrahmen in Python-Pandas mit mehr als einer Zeile oder Spalte als Index werden als Multi-Index-Daten bezeichnet. Verwenden des Datenrahmens.set_index () Funktion, wir können mehrere Spalten als Zeilenbezeichnungen festlegen. Es ist zu verstehen, dass das Einstellen von mehr als einem Index unseren Datenrahmen kompliziert macht. Der Index kann auf verschiedene Weise strukturiert werden. Wir zeigen Ihnen, wie Sie die verschiedenen Spalten als Index auf einfache Weise festlegen. Lassen Sie uns zunächst unseren Datenrahmen erstellen.

Unser DataFrame verfügt über vier Spalten - "ID", "Name", "Kurs" und "Code".

Aus diesen Spalten entscheiden wir, welche Spalten als Indizes unseres Datenrahmens geeignet sind,. Nachdem wir die geeigneten Spalten entschieden haben, übergeben wir eine Liste mit zwei Beschriftungen in der Funktion set_index ().

Die Spalten "ID" und "Code" werden als Zeilen-Indexes im DataFrame festgelegt. Durch die Verwendung der Spaltennamen in der Liste und über die Übergabe an den set_index () haben wir diese Spalten als Indizes zugewiesen. Die Liste ["ID", "Code"] wird als Argument der set_index () übergeben. Sowohl die Namen als auch die Regionspalten sind die neuen Indizes, wie in der Ausgabe zu sehen ist.

Beispiel 4: Festlegen des Index des Datenrahmens mithilfe der Python -Serie

Ein Multi-Index-Datenframe kann erstellt werden, indem neue Serien mit dem "DataFrame" zugewiesen werden.set_index () ”Funktion, wenn wir den vorhandenen Integer -Index mit einigen PANDAS -Serien anstelle der Spalten des DataFrame ändern müssen. Wir erstellen zunächst einen DataFrame, indem wir ein Wörterbuch innerhalb der PD übergeben.DataFrame () -Funktion, um zu demonstrieren, wie eine Serie als erste und zweite Indizes des DataFrame übergeben werden kann.

Jetzt erstellen wir eine Serie, indem wir eine Liste von Ganzzahlen innerhalb der Klammern der PD übergeben.Serie () Funktion. Wir weisen diese Serie „n“ Variable zu.

Wie im angegebenen DataFrame zu sehen ist, werden unsere Serie „N“ und „N ** 2“ als erste und zweite Indizes der zweiten Ebene festgelegt.

Beispiel 5: Festlegen des Index des Datenrahmens mithilfe des Python -Bereichs

Nehmen wir an, wir müssen eine Reihe von Ganzzahlen als Index des DataFrame angeben, damit sie mit einer beliebigen Zahl beginnen kann. Zum Beispiel möchten wir die ID -Nummer für den Mitarbeiterdatenframe unter 1 starten. Es ist nicht möglich, den Datenrahmen zu verwenden.set_index () Funktion mit einer Liste aller Zahlen als Eingabe. Die Python Range () -Methode kann in dieser Situation verwendet werden. Durch die Verwendung der Funktion von Range () können wir einen PANDAS -Index erstellen, den wir dann an den DataFrame übergeben können.Setzen Sie Index () Funktion. Lassen Sie uns einen Datenrahmen erstellen, damit wir seine row_index ersetzen können, indem wir die Funktion raven () verwenden,.

Wir haben unseren Datenrahmen mit den Spalten "Name", "Rang", "Bonus" und "Gehalt" erstellt. Setzen wir nun den Index anstelle des Standardgnitger -Index anhand der Funktion range () anhand der Funktion von Range () fest. Die Methode von Range () gibt eine Reihe von Zahlen zurück, die standardmäßig bei 0 beginnen, um 1 (standardmäßig) steigt und vor einer angegebenen Zahl endet.

Wir haben den Indexbereich angegeben, der bei 1 startet, um 1 erhöht und vor 6 endet. Nach Angabe des Indexbereichs haben wir die Funktion „Index“ in der Funktion "set_index () als Eingabe übergeben, um den Zeilenindex unseres Datenrahmens festzulegen.

Abschluss

In diesem Tutorial haben wir die Indizes eines Datenrahmens erörtert und wie die neuen Indizes in einem vorhandenen Datenrahmen festgelegt werden. Wir haben gesehen, dass der Python -Konstruktor stand. Wir haben die Syntax der Funktion set_index () in diesem Tutorial gesehen und die mehreren Beispiele implementiert, um Ihnen beizubringen.