So reduzieren sie multiindex in pandas (mit beispielen)


Sie können die folgende grundlegende Syntax verwenden, um einen MultiIndex in Pandas zu reduzieren:

 #flatten all levels of MultiIndex
df. reset_index (inplace= True )

#flatten specific levels of MultiIndex
df. reset_index (inplace= True , level = [' level_name '])

Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.

Beispiel 1: Reduzieren Sie alle Ebenen von MultiIndex in Pandas

Angenommen, wir haben den folgenden Pandas MultiIndex DataFrame:

 import pandas as pd

#createDataFrame
index_names = pd. MultiIndex . from_tuples ([('Level1','Lev1', 'L1'),
                                       ('Level2','Lev2', 'L2'),
                                       ('Level3','Lev3', 'L3'),
                                       ('Level4','Lev4', 'L4')],
                                       names=['Full','Partial', 'ID'])

data = {'Store': ['A','B','C','D'],
        'Sales': [12, 44, 29, 35]}

df = pd. DataFrame (data, columns = [' Store ',' Sales '], index=index_names)

#view DataFrame
df

			Store Sales
Full Partial ID		
Level1 Lev1 L1 A 17
Level2 Lev2 L2 B 22
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

Wir können die folgende Syntax verwenden, um jede Ebene des MultiIndex in Spalten des DataFrame zu reduzieren:

 #flatten every level of MultiIndex 
df. reset_index (inplace= True )

#view updated DataFrame
df

        Full Partial ID Store Sales
0 Level1 Lev1 L1 A 12
1 Level2 Lev2 L2 B 44
2 Level3 Lev3 L3 C 29
3 Level4 Lev4 L4 D 35

Beachten Sie, dass jede Ebene des MultiIndex jetzt eine Spalte im DataFrame ist.

Beispiel 2: Reduzieren Sie bestimmte MultiIndex-Ebenen in Pandas

Nehmen wir an, wir haben denselben Pandas-DataFrame wie im vorherigen Beispiel:

 #view DataFrame
df

Store Sales
Full Partial ID		
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

Der folgende Code zeigt, wie eine einzelne spezifische Ebene des MultiIndex reduziert wird:

 #flatten 'ID' level only
df. reset_index (inplace= True ,level=[' ID '])

#view updated DataFrame
df

		ID Store Sales
Full Partial			
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

Und der folgende Code zeigt, wie mehrere spezifische Ebenen des MultiIndex reduziert werden:

 #flatten 'ID' level only
df. reset_index (inplace= True ,level=[' Partial ',' ID '])

#view updated DataFrame
df

	Partial ID Store Sales
Full				
Level1 Lev1 L1 A 12
Level2 Lev2 L2 B 44
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere allgemeine Funktionen in Pandas ausgeführt werden:

So konvertieren Sie einen Index in eine Spalte in Pandas
So benennen Sie den Index in Pandas um
So legen Sie eine Spalte als Index in Pandas fest

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert