Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man einen hierarchischen Spaltenindex in Pandas reduzieren?

Wie kann man einen hierarchischen Spaltenindex in Pandas reduzieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-07 17:44:13750Durchsuche

How to Flatten a Hierarchical Column Index in Pandas?

Hierarchische Indexspalten reduzieren

Um einen hierarchischen Index in den Spalten eines Pandas DataFrame zu reduzieren, führen Sie die folgenden Schritte aus:

1. Spalten auf oberste Ebene setzen:

df.columns = df.columns.get_level_values(0)

Dadurch wird die oberste Ebene des hierarchischen Index als neue Spaltennamen festgelegt.

2. MultiIndex zu einem einzelnen Index zusammenfügen (optional):

Wenn Sie den MultiIndex weiter zu einem einzigen Index kombinieren möchten, können Sie Folgendes tun:

df.columns = [' '.join(col).strip() for col in df.columns.values]

Dadurch wird der hinzugefügt Spaltennamen verwenden Leerzeichen als Trennzeichen und entfernen alle führenden oder nachgestellten Namen Leerzeichen.

Beispiel:

Betrachten Sie den folgenden DataFrame mit einem hierarchischen Index in Spalten:

df = pd.DataFrame({'s_PC': [1, 0, 1], 's_CL': [0, 0, 10]},
                    index = pd.MultiIndex.from_tuples([
                        ('day', 1),('day', 2),('day', 3)
                    ]), columns = pd.MultiIndex.from_tuples([
                        ('USAF', ''),('WBAN', ''),('year', 1993)
                    ]))

Anwenden der Reduzierung Operation:

# Set columns to top level
df.columns = df.columns.get_level_values(0)

# Join MultiIndex into single index
df.columns = [' '.join(col).strip() for col in df.columns.values]

Ausgabe:

   USAF  WBAN  year  day  s_PC  s_CL
0   702   265  1993   1     1     0
1   702   265  1993   2     0     0
2   702   265  1993   3     1    10

Der hierarchische Index wurde zu einem einzigen Index zusammengefasst.

Das obige ist der detaillierte Inhalt vonWie kann man einen hierarchischen Spaltenindex in Pandas reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn