Panda's: multiindex verwijderen in een draaitabel


Om een multiIndex uit een panda’s-draaitabel te verwijderen, kun je het waardenargument gebruiken met de reset_index() functie:

 p.d. pivot_table (df, index=' col1 ', columns=' col2 ', values=' col3 '). reset_index ()

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: MultiIndex verwijderen uit Panda’s draaitabel

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'],
                   ' points ': [4, 4, 6, 8, 9, 5, 5, 12]})

#view DataFrame
print (df)

  team position points
0 AG 4
1 GA 4
2 AF 6
3AF 8
4 BG 9
5 BF 5
6 BF 5
7 BF 12

Stel nu dat we de volgende draaitabel maken om de gemiddelde puntwaarde per team en positie samen te vatten:

 #create pivot table to summarize mean points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ')

	        points
FG position
team		
At 7.000000 4.0
B 7.333333 9.0

De resulterende draaitabel vat de gemiddelde puntenwaarde per team en positie samen, maar bevat een multiIndex.

Om de multiIndex te verwijderen, kunnen we het waardenargument in de functie pivot_table() gebruiken en aan het einde reset_index() toevoegen:

 #create pivot table to summarize mean points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ', values=' points '). reset_index ()

position team F G
0 to 7.000000 4.0
1 B 7.333333 9.0

De resulterende draaitabel vat de gemiddelde puntenwaarde per team en positie samen en heeft niet langer een multi-index.

Merk op dat de functie pivot_table() standaard de gemiddelde waarde berekent.

Om een andere metriek, zoals som, te berekenen, gebruikt u het aggfunc- argument als volgt:

 #create pivot table to summarize sum of points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ', values=' points ',
               aggfunc=' sum '). reset_index ()

position team FG
0 to 14 8
1 B 22 9

De resulterende draaitabel vat de som van de puntwaarden per team en positie samen en heeft ook geen multiIndex.

Opmerking : u kunt hier de volledige documentatie van de pandas pivot_table() -functie vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Panda’s: filter toevoegen aan draaitabel
Panda’s: draaitabel sorteren op waarden in kolom
Panda’s: subtotalen toevoegen aan de draaitabel

Einen Kommentar hinzufügen

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