Skip to content

Wie man Pandas Set Index verwendet

Updated on

Die Datenanalyse in Python wurde durch die Pandas-Bibliothek revolutioniert, wobei DataFrame seine Kern-Datenstruktur bildet. Ein wesentliches Merkmal von DataFrames ist die Möglichkeit zur Manipulation der Indexstruktur. Dieser Artikel soll einen umfassenden Leitfaden zur Verwendung der Pandas-Funktion set_index() bieten.

Möchten Sie Datenvisualisierungen in Python schnell erstellen?

PyGWalker ist ein Open Source Python-Projekt, das den Workflow der Datenanalyse und -visualisierung direkt in einer Jupyter Notebook-Umgebung beschleunigen kann.

Mit PyGWalker (opens in a new tab) können Sie Ihr Pandas DataFrame (oder Polars DataFrame) in eine visuelle Benutzeroberfläche umwandeln, in der Sie Variablen per Drag & Drop ziehen und ablegen können, um Diagramme leicht zu erstellen. Verwenden Sie einfach den folgenden Code:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Sie können PyGWalker jetzt direkt mit diesen Online-Notebooks ausführen:

Und vergessen Sie nicht, uns auf GitHub mit einem ⭐️ zu bewerten!

PyGWalker in Kaggle Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker auf GitHub ⭐️ geben (opens in a new tab)
PyGWalker in Kaggle Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)

Verständnis des Index in Pandas DataFrame

Ein Index in einem DataFrame dient als Bezeichnung für die Zeilen. Standardmäßig weist Pandas den Zeilenlabels Integer-Werte zu, die mit 0 beginnen. Es gibt jedoch Szenarien, in denen diese Standardindizes nicht ausreichen und Sie möglicherweise eine bestimmte Spalte oder eine Kombination von Spalten als Index für Ihr DataFrame festlegen müssen.

Setzen des Index mit set_index()

Die Funktion set_index() ermöglicht es uns, eine Spalte als Index eines DataFrame festzulegen. Die grundlegende Syntax lautet wie folgt:

DataFrame.set_index('Spaltenname')

Hier ist 'Spaltenname' die Spalte, die Sie als Index festlegen möchten.

Wichtige Parameter der Funktion set_index()

Die Funktion set_index() verfügt über mehrere Parameter, um den Benutzern Flexibilität zu bieten. Schauen wir uns genauer an, was jeder dieser Parameter bewirkt.

  • keys: Dies kann entweder der Spaltenname oder eine Pandas Series, Index oder ein NumPy-Array sein. Dies wird der neue Index Ihres DataFrame sein.
  • drop (Standard: True): Wenn dies auf True gesetzt ist, wird die Spalte, die Sie als neuen Index festlegen, aus dem DataFrame gelöscht.
  • append (Standard: False): Wenn True, wird die Spalte, die Sie als Index festlegen, an den vorhandenen Index angehängt und erzeugt einen mehrstufigen Index.
  • inplace (Standard: False): Wenn True, erfolgen die Änderungen direkt im DataFrame und die Funktion gibt nichts zurück. Wenn False, wird ein neues DataFrame mit den Änderungen zurückgegeben.
  • verify_integrity (Standard: False): Überprüft auf doppelte Indizes. Dies ist nützlich, wenn Sie sicherstellen möchten, dass die neuen Indexwerte eindeutig sind.

Praktisches Beispiel zur Verwendung von set_index()

Nun wollen wir diese Parameter anhand einiger praktischer Beispiele verstehen. Angenommen, wir haben ein DataFrame df wie folgt:

import pandas as pd
 
data = {
    'Name': ['John', 'Anna', 'Peter', 'Linda'],
    'Alter': [28, 24, 32, 45],
    'Stadt': ['New York', 'London', 'Berlin', 'Sydney']
}
 
df = pd.DataFrame(data)

Setzen wir 'Name' als unseren Index:

df.set_index('Name', inplace=True)

Dies setzt die Spalte 'Name' als Index des DataFrames und entfernt sie aus dem DataFrame, da der drop-Parameter standardmäßig auf True gesetzt ist.

Wenn wir die Spalte 'Name' als Index festlegen, sie aber auch im DataFrame behalten wollen, können wir Folgendes tun:

df.reset_index(inplace=True)
df.set_index('Name', drop=False, inplace=True)

Um ein DataFrame mit mehrstufigem Index zu erstellen, indem 'Stadt' an den vorhandenen 'Name'-Index angehängt wird, verwenden Sie:

df.set_index(['Name', 'Stadt'], inplace=True)

Hinweis: Bevor Sie einen neuen Index festlegen, müssen Sie den Index mit df.reset_index(inplace=True) zurücksetzen, wenn Sie bereits einen zuvor festgelegt haben.

Fazit

In diesem Artikel haben wir gelernt, wie man Pandas set_index() verwendet, um die Indexstruktur des DataFrame entsprechend unseren Bedürfnissen zu manipulieren. Durch das Verständnis seiner wichtigen Parameter können wir indexbasierte Operationen effektiv durchführen und unsere Datenanalysefähigkeiten verbessern. Ob Sie Anfänger oder Experte in Pandas sind, die richtige Verwendung von set_index() zu kennen, ist entscheidend. Nun ist es an der Zeit, das Gelernte in Ihren Projekten anzuwenden!