Pandas-Index-Objekt
Das Index-Objekt von Pandas ist eine Basisklasse, die zum Identifizieren von Achsenbeschriftungen verwendet wird und umfangreiche Funktionen zum Darstellen und Verwalten von Datenindizes bietet.
Hier sind einige wichtige Funktionen und Verwendungszwecke des Index-Objekts:
- Eindeutige Identifikation:
IndexDas Objekt bietet eindeutige Identifikatoren für Daten, was für die Datenauswahl und -manipulation entscheidend ist. - Label-basiert: Im Gegensatz zur positionsbasierten Indizierung (wie bei der Indizierung in Python-Listen),
IndexEs ermöglicht labelbasierte Indizierung, was die Datenmanipulation intuitiver und flexibler macht. - Datentypunterstützung:
IndexEs kann mehrere Datentypen enthalten, darunter Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, Datum/Uhrzeit usw.
Pandas bietet mehrere verschiedene Index-Typen für unterschiedliche Szenarien:
- RangeIndex: Ein speichereffizientes Indexobjekt für ganzzahlige Werte, ähnlich wie Pythons
rangeObjekt. - Index: Der grundlegendste Index-Typ, der jeden Datentyp enthalten kann.
- MultiIndex: Ein mehrstufiger Index, mit dem Sie mehrere Indexebenen haben können, ähnlich wie mehrere Spalten in einem DataFrame.
- DatetimeIndex: Ein für Datum/Uhrzeit-Daten optimierter Index, der datums-/uhrzeitbezogene Funktionalität bereitstellt.
- PeriodIndex: Ein periodenbasierter Index, z. B. Jahr, Quartal usw.
- TimedeltaIndex: Ein Index, der auf Zeitdifferenz (Δt) basiert.
Index-Konstruktor
| Klasse/Methode | Beschreibung |
|---|---|
pd.Index(data, dtype, name) |
Erstellt ein Index-Objekt, das benutzerdefinierte Daten, Datentypen und einen Namen unterstützt. |
Index-Eigenschaften
| Attribute | Beschreibung |
|---|---|
Index.values |
Gibt den Datenanteil des Index zurück (NumPy-Array). |
Index.dtype |
Gibt den Datentyp des Index zurück. |
Index.name |
Gibt den Namen des Index zurück oder legt ihn fest. |
Index.shape |
Gibt die Form des Index zurück (als Tupel). |
Index.size |
Gibt die Anzahl der Elemente im Index zurück. |
Index.nlevels |
Gibt die Anzahl der Ebenen im Index zurück (für MultiIndex). |
Index.is_unique |
Prüft, ob die Werte im Index eindeutig sind. |
Index.is_monotonic |
Prüft, ob der Index monoton steigend ist. |
Index.is_monotonic_decreasing |
Prüft, ob der Index monoton fallend ist. |
Index.has_duplicates |
Prüft, ob der Index doppelte Werte enthält. |
Index.empty |
Überprüfen, ob der Index leer ist. |
Indexmethoden
Datenoperationen
| Methode | Beschreibung |
|---|---|
Index.append(other) |
Einen weiteren Index an den aktuellen Index anhängen. |
Index.drop(labels) |
Das angegebene Label löschen. |
Index.insert(loc, item) |
Ein Element an der angegebenen Position einfügen. |
Index.unique() |
Die eindeutigen Werte im Index zurückgeben. |
Index.drop_duplicates() |
Doppelte Werte entfernen. |
Index.sort_values() |
Nach Wert sortieren. |
Index.sort_values(ascending=False) |
Nach Wert in absteigender Reihenfolge sortieren. |
Index.tolist() |
Den Index in eine Liste konvertieren. |
Index.to_numpy() |
Den Index in ein numpy-Array konvertieren. |
Index.to_frame() |
Den Index in einen DataFrame konvertieren. |
Index.astype(dtype) |
Den Index in den angegebenen Datentyp konvertieren. |
Index.map(func) |
Wendet eine Funktion auf jedes Element im Index an. |
Index.where(cond, other) |
Ersetzt Werte basierend auf einer Bedingung. |
Index.mask(cond, other) |
Ersetzt Werte basierend auf einer Bedingung (im Gegensatz zuwhere). |
Indexierungsoperationen
| Methode | Beschreibung |
|---|---|
Index.get_loc(key) |
Gibt die Position des angegebenen Labels zurück. |
Index.get_indexer(target) |
Gibt die Position des Ziel-Index im aktuellen Index zurück. |
Index.slice_locs(start, end) |
Gibt die Slice-Position für den angegebenen Bereich zurück. |
Index.intersection(other) |
Gibt die Schnittmenge zweier Indizes zurück. |
Index.union(other) |
Gibt die Vereinigung zweier Indizes zurück. |
Index.difference(other) |
Gibt die Differenz zweier Indizes zurück. |
Index.symmetric_difference(other) |
Gibt die symmetrische Differenz zweier Indizes zurück. |
Index.isin(values) |
Prüft, ob die Werte im Index in der angegebenen Liste enthalten sind. |
Index.reindex(target) |
Neuindexierung gemäß dem Ziel-Index. |
Index.reindex_like(other) |
Neuindexierung gemäß einem anderen Index. |
Statistische Berechnung
| Methode | Beschreibung |
|---|---|
Index.min() |
Gibt den Minimalwert im Index zurück. |
Index.max() |
Gibt den Maximalwert im Index zurück. |
Index.argmin() |
Gibt die Indexposition des Minimalwerts zurück. |
Index.argmax() |
Gibt die Indexposition des Maximalwerts zurück. |
Index.value_counts() |
Gibt die Häufigkeit jedes Werts im Index zurück. |
MultiIndex-Methoden
| Methode | Beschreibung |
|---|---|
pd.MultiIndex.from_arrays() |
Erstellt einen MultiIndex aus einem Array. |
pd.MultiIndex.from_tuples() |
Erstellt einen MultiIndex aus Tupeln. |
pd.MultiIndex.from_product() |
Erstellt einen MultiIndex aus dem kartesischen Produkt. |
MultiIndex.levels |
Gibt die Ebenen des MultiIndex zurück. |
MultiIndex.codes |
Gibt die Codes des MultiIndex zurück. |
MultiIndex.swaplevel(i, j) |
Tauscht die Positionen zweier Ebenen. |
MultiIndex.droplevel(level) |
Entfernt die angegebene Ebene. |
MultiIndex.set_levels(levels) |
Setzt die Ebenen des MultiIndex. |
MultiIndex.set_codes(codes) |
Setzt die Codes des MultiIndex. |
Beispiel
Beispiel
import pandas as pd
# Index erstellen
idx = pd.Index([1, 2, 3], name='MyIndex')
# Eigenschaften anzeigen
print(idx.values) # Datenteil ausgeben
print(idx.name) # Namen ausgeben
# Datenoperationen
idx_new = idx.append(pd.Index([4, 5]))
print(idx_new) # Gibt den angehängten Index aus
# Indizierungsoperationen
print(idx.get_loc(2)) # Gibt die Position von Label 2 aus
# MultiIndex-Operationen
arrays = [[1, 1, 2, 2], ['A', 'B', 'A', 'B']]
multi_idx = pd.MultiIndex.from_arrays(arrays, names=('Num', 'Letter'))
print(multi_idx)
# Index erstellen
idx = pd.Index([1, 2, 3], name='MyIndex')
# Eigenschaften anzeigen
print(idx.values) # Datenteil ausgeben
print(idx.name) # Namen ausgeben
# Datenoperationen
idx_new = idx.append(pd.Index([4, 5]))
print(idx_new) # Gibt den angehängten Index aus
# Indizierungsoperationen
print(idx.get_loc(2)) # Gibt die Position von Label 2 aus
# MultiIndex-Operationen
arrays = [[1, 1, 2, 2], ['A', 'B', 'A', 'B']]
multi_idx = pd.MultiIndex.from_arrays(arrays, names=('Num', 'Letter'))
print(multi_idx)
Für detailliertere Informationen lesen Sie bitte dieoffizielle Pandas-Dokumentation。
Weitere Erweiterungen