Verständnis von Pandas DataFrame-Indizes: Ein Leitfaden für Anfänger
Updated on
Als Data Scientist sind Sie wahrscheinlich bereits mit der Pandas-Bibliothek für Python vertraut, die heute eine der beliebtesten Datenanalysewerkzeuge ist. Pandas bietet eine Reihe von Funktionen für die Arbeit mit strukturierten Daten, einschließlich leistungsstarker Datenstrukturen wie DataFrames und Series.
In diesem Tutorial konzentrieren wir uns auf einen zentralen Aspekt der Arbeit mit Pandas DataFrames: die Indizes. Wir werden erläutern, was Indizes sind, warum sie wichtig sind und wie man effektiv mit ihnen arbeitet.
Möchten Sie schnell Data Visualization aus Python Pandas Dataframe ohne Code erstellen?
PyGWalker ist eine Python-Bibliothek für explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Workflow zur Datenanalyse und Datenvisualisierung in Jupyter Notebook vereinfachen, indem es Ihren Pandas DataFrame (und Polars DataFrame) in eine benutzerfreundliche Tableau-ähnliche Benutzeroberfläche für die visuelle Exploration umwandelt.
Was sind DataFrame-Indizes?
Beginnen wir mit den Grundlagen: Was genau ist ein DataFrame-Index? Auf der grundlegendsten Ebene ist der Index eine Möglichkeit, Zeilen und Spalten in einem Pandas DataFrame zu kennzeichnen.
Stellen Sie ihn sich wie eine Datenbanktabelle mit einem Primärschlüssel vor - der Index ist im Grunde genommen eine Menge eindeutiger Kennungen, die einen schnellen und effizienten Zugriff auf bestimmte Datensätze ermöglichen. Es ist auch erwähnenswert, dass der Index entweder numerisch oder nicht numerisch sein kann (z. B. Datum-/Zeitwerte).
Der Index ist ein integraler Bestandteil des DataFrames und wird in vielen Pandas-Operationen umfangreich verwendet, einschließlich Indizierung, Auswahl und Filterung.
Setzen von DataFrame-Indizes
Standardmäßig haben Pandas DataFrames einen numerischen Index von 0 bis zur Gesamtzahl der Zeilen im DataFrame. Sie können jedoch den Index auf eine andere Spalte im DataFrame setzen, wenn dies für Ihren Anwendungsfall sinnvoller ist.
Wenn Sie beispielsweise ein DataFrame haben, das Verkaufsdaten für verschiedene Regionen enthält, möchten Sie möglicherweise den Index auf die Spalte "region" setzen, damit es einfacher ist, Daten für bestimmte Regionen zu filtern und auszuwählen.
Um den Index eines DataFrames zu setzen, können Sie die Methode set_index()
verwenden. Wenn Sie beispielsweise ein DataFrame namens sales_data
haben und den Index auf die Spalte "region" setzen möchten, können Sie den folgenden Code verwenden:
sales_data = sales_data.set_index('region')
Sie können den Index auch beim Erstellen eines DataFrames von Grund auf mit dem index
-Parameter festlegen. Wenn Sie beispielsweise ein DataFrame mit Verkaufsdaten und einem nicht numerischen Index für Daten erstellen möchten, können Sie den folgenden Code verwenden:
import pandas as pd
sales_data = pd.DataFrame({
'date': ['2022-01-01', '2022-01-02', '2022-01-03'],
'sales': [100, 200, 150]
}, index=['2022-01-01', '2022-01-02', '2022-01-03'])
Arbeiten mit DataFrame-Indizes
Sobald Sie den Index für Ihr DataFrame festgelegt haben, können Sie ihn verwenden, um Daten zu filtern und auszuwählen. Eine der häufigsten Operationen besteht darin, eine bestimmte Zeile basierend auf ihrem Indexwert auszuwählen.
Um eine Zeile anhand ihres Indexes auszuwählen, können Sie die Methode loc[]
verwenden. Wenn Sie beispielsweise ein DataFrame namens sales_data
mit der Spalte "region" als Index haben und alle Verkaufsdaten für die Region "Northeast" auswählen möchten, können Sie den folgenden Code verwenden:
northeast_sales = sales_data.loc['Northeast']
Sie können den Index auch verwenden, um das DataFrame basierend auf bestimmten Kriterien zu filtern. Wenn Sie beispielsweise das DataFrame nur auf Verkaufsdaten für die Regionen "Northeast" und "West" einschränken möchten, können Sie den folgenden Code verwenden:
northeast_west_sales = sales_data.loc[['Northeast', 'West']]
Mehrstufige Indizes
In einigen Fällen müssen Sie möglicherweise mehr als einen Index für Ihr DataFrame verwenden. Dies wird als mehrstufiger Index bezeichnet und ermöglicht es Ihnen, Ihre Daten hierarchisch zu organisieren.
Wenn Sie beispielsweise Verkaufsdaten für mehrere Regionen über mehrere Jahre hinweg haben, möchten Sie möglicherweise einen mehrstufigen Index verwenden, bei dem die Spalte "region" das erste Niveau und die Spalte "year" das zweite Niveau darstellt.
Um ein DataFrame mit einem mehrstufigen Index zu erstellen, können Sie die Methode set_index()
mehrmals verwenden. Wenn Sie beispielsweise ein DataFrame mit den folgenden Spalten haben: 'region', 'year' und 'sales', können Sie mit dem folgenden Code einen mehrstufigen Index erstellen:
sales_data = sales_data.set_index(['region', 'year'])
Sobald Sie ein DataFrame mit einem mehrstufigen Index haben, können Sie die Methode loc[]
verwenden, um Daten basierend auf beiden Ebenen des Index zu selektieren. Wenn Sie beispielsweise alle Verkaufsdaten für die Region "Northeast" im Jahr 2022 auswählen möchten, können Sie den folgenden Code verwenden:
northeast_2022_sales = sales_data.loc[('Northeast', 2022)]
Anpassung von DataFrame-Indizes
In einigen Fällen passen die standardmäßigen numerischen oder spaltenbasierten Indizes möglicherweise nicht am besten zu Ihren Daten. Zum Glück bietet Pandas eine Reihe von Optionen zur Anpassung von Indizes.
Sie können beispielsweise einen nicht numerischen Index basierend auf einer benutzerdefinierten Funktion oder Formel erstellen. Hierfür können Sie die Methode Index.map()
oder Index.from_tuples()
verwenden.
import pandas as pd
# Erstellen eines DataFrame mit einem benutzerdefinierten Index
data = pd.DataFrame({
'x': [1, 2, 3],
'y': [4, 5, 6]
}, index=[1, 4, 7])
# Erstellen eines benutzerdefinierten Index mithilfe einer Formel
custom_index = data.index.map(lambda x: x * 10)
# Verwendung des benutzerdefinierten Index, um ein neues DataFrame zu erstellen
new_data = pd.DataFrame({
'x': [4, 5],
'y': [7, 8]
## Fazit
In diesem Tutorial haben wir die Grundlagen der Pandas DataFrame-Indizes und deren effektive Verwendung behandelt. Wir haben das Festlegen von Indizes, die Auswahl von Daten mit Indizes (einschließlich mehrstufiger Indizes) und die Anpassung von Indizes an Ihre Daten erkundet.
Mit dem in diesem Tutorial gewonnenen Wissen können Sie Ihre Datenanalyse und -visualisierung durch die Verwendung von Pandas DataFrame-Indizes optimieren. Wir hoffen, dass Ihnen dieses Tutorial hilfreich war, und wenn Sie Fragen oder Kommentare haben, können Sie sich gerne an uns wenden!
**Weiterführende Lektüre und Ressourcen:**
- [Konvertieren eines Pandas DataFrame in eine Liste](/topics/Pandas/dataframe-tolist)
- [Verkettung von zwei DataFrames in Pandas](/topics/Pandas/pandas-concat-two-dataframes)
- [Suchen nach einem Wert in einer Spalte eines Pandas DataFrame](/topics/Pandas/dataframe-search-value-column)
- [Konvertieren eines Pandas DataFrame in ein Numpy Array](/topics/Pandas/convert-dataframe-numpy-array)
## Häufig gestellte Fragen
1. **Was sind Indizes eines DataFrame?**
Indizes eines DataFrame in Pandas sind Labels, die jede Zeile im DataFrame eindeutig identifizieren. Sie dienen als Möglichkeit, auf die Daten strukturiert zuzugreifen, diese zu manipulieren und Operationen durchzuführen. Standardmäßig wird einem DataFrame ein numerischer Index ab 0 zugewiesen, aber es können auch benutzerdefinierte Indizes basierend auf bestimmten Spalten oder Kriterien vorhanden sein.
2. **Wie viele Indizes kann ein DataFrame haben?**
In Pandas kann ein DataFrame mehrere Indizes haben, auch bekannt als Multi-Index oder hierarchischer Index. Dadurch sind komplexere Datenstrukturen möglich, bei denen jede Zeile anhand einer Kombination von mehreren Labels oder Ebenen eindeutig identifiziert werden kann. Die Anzahl der Indizes, die ein DataFrame haben kann, ist nicht festgelegt und kann je nach den spezifischen Daten und Anforderungen variieren.
3. **Wie fügt man Indizes zu einem DataFrame hinzu?**
In Pandas können Indizes mit der Methode `set_index()` zu einem DataFrame hinzugefügt werden. Diese Methode ermöglicht es Ihnen, eine oder mehrere Spalten aus dem DataFrame als neuen Index festzulegen. Darüber hinaus können Sie auch die Methode `reset_index()` verwenden, um den aktuellen Index zu entfernen und zum standardmäßigen numerischen Index zurückzukehren. Diese Methoden bieten Flexibilität bei der Verwaltung und Manipulation von Indizes in einem DataFrame.
import JSONldScript from '../../../components/jsonld-script';
<JSONldScript
faq={{
"data": [
{
"question": "Was sind Indizes eines DataFrame?",
"answer": "Indizes eines DataFrame in Pandas sind Labels, die jede Zeile im DataFrame eindeutig identifizieren. Sie dienen als Möglichkeit, auf die Daten strukturiert zuzugreifen, diese zu manipulieren und Operationen durchzuführen. Standardmäßig wird einem DataFrame ein numerischer Index ab 0 zugewiesen, aber es können auch benutzerdefinierte Indizes basierend auf bestimmten Spalten oder Kriterien vorhanden sein."
},
{
"question": "Wie viele Indizes kann ein DataFrame haben?",
"answer": "In Pandas kann ein DataFrame mehrere Indizes haben, auch bekannt als Multi-Index oder hierarchischer Index. Dadurch sind komplexere Datenstrukturen möglich, bei denen jede Zeile anhand einer Kombination von mehreren Labels oder Ebenen eindeutig identifiziert werden kann. Die Anzahl der Indizes, die ein DataFrame haben kann, ist nicht festgelegt und kann je nach den spezifischen Daten und Anforderungen variieren."
},
{
"question": "Wie fügt man Indizes zu einem DataFrame hinzu?",
"answer": "In Pandas können Indizes mit der Methode `set_index()` zu einem DataFrame hinzugefügt werden. Diese Methode ermöglicht es Ihnen, eine oder mehrere Spalten aus dem DataFrame als neuen Index festzulegen. Darüber hinaus können Sie auch die Methode `reset_index()` verwenden, um den aktuellen Index zu entfernen und zum standardmäßigen numerischen Index zurückzukehren. Diese Methoden bieten Flexibilität bei der Verwaltung und Manipulation von Indizes in einem DataFrame."
}
]
}}
/>