Bild vom Herausgeber | Midjourney & Canva
Lernen wir, wie man MultiIndex in Pandas für hierarchische Daten verwendet.
Vorbereitung
Wir benötigen das Pandas-Paket, um sicherzustellen, dass es installiert ist. Sie können es mit dem folgenden Code installieren:
Lassen Sie uns anschließend lernen, wie man mit MultiIndex-Daten in Pandas umgeht.
Verwenden von MultiIndex in Pandas
MultiIndex in Pandas bezieht sich auf die Indizierung mehrerer Ebenen im DataFrame oder in der Serie. Der Prozess ist hilfreich, wenn wir mit höherdimensionalen Daten in einer 2D-Tabellenstruktur arbeiten. Mit MultiIndex können wir Daten mit mehreren Schlüsseln indizieren und besser organisieren. Lassen Sie uns ein Datensatzbeispiel verwenden, um sie besser zu verstehen.
import pandas as pd
index = pd.MultiIndex.from_tuples(
(('A', 1), ('A', 2), ('B', 1), ('B', 2)),
names=('Class', 'Quantity')
)
df = pd.DataFrame({
'Worth': (10, 20, 30, 40)
}, index=index)
print(df)
Die Ausgabe:
Worth
Class Quantity
A 1 10
2 20
B 1 30
2 40
Wie Sie sehen, verfügt der obige DataFrame über einen zweistufigen Index mit der Kategorie und der Nummer als Index.
Es ist auch möglich, den MultiIndex mit den vorhandenen Spalten in unserem DataFrame festzulegen.
information = {
'Class': ('A', 'A', 'B', 'B'),
'Quantity': (1, 2, 1, 2),
'Worth': (10, 20, 30, 40)
}
df = pd.DataFrame(information)
df.set_index(('Class', 'Quantity'), inplace=True)
print(df)
Die Ausgabe:
Worth
Class Quantity
A 1 10
2 20
B 1 30
2 40
Auch mit unterschiedlichen Methoden erhalten wir ähnliche Ergebnisse. So können wir den MultiIndex in unserem DataFrame haben.
Wenn Sie bereits über den MultiIndex-DataFrame verfügen, können Sie die Ebene mit dem folgenden Code austauschen.
Die Ausgabe:
Worth
Quantity Class
1 A 10
2 A 20
1 B 30
2 B 40
Natürlich können wir den MultiIndex mit dem folgenden Code in Spalten zurückgeben:
Die Ausgabe:
Class Quantity Worth
0 A 1 10
1 A 2 20
2 B 1 30
3 B 2 40
Wie kann man additionally auf MultiIndex-Daten in Pandas DataFrame zugreifen? Wir können den .loc
Methode dafür. Beispielsweise greifen wir auf die erste Ebene des MultiIndex DataFrame zu.
Die Ausgabe:
Wir können auch mit Tuple auf den Datenwert zugreifen.
Die Ausgabe:
Worth 10
Title: (A, 1), dtype: int64
Schließlich können wir mit MultiIndex eine statistische Aggregation durchführen, indem wir .groupby
Methode.
print(df.groupby(stage=('Class')).sum())
Die Ausgabe:
Die Beherrschung des MultiIndex in Pandas ermöglicht Ihnen Einblick in hierarchische Daten.
Zusätzliche Ressourcen
Cornellius Yudha Wijaya ist Knowledge Science Assistant Supervisor und Datenautor. Während seiner Vollzeitbeschäftigung bei Allianz Indonesien teilt er gerne Python- und Datentipps über soziale Medien und in den Medien. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.