Panda: come rimuovere multiindex in una tabella pivot


Per rimuovere un multiIndex da una tabella pivot panda, puoi utilizzare l’argomento valori con la funzione reset_index() :

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: rimuovere MultiIndex nella tabella pivot di Pandas

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 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

Supponiamo ora di creare la seguente tabella pivot per riassumere il valore del punto medio per squadra e posizione :

 #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

La tabella pivot risultante riassume il valore del punto medio per squadra e posizione , ma contiene un multiindice.

Per rimuovere il multiIndex, possiamo utilizzare l’argomento valori nella funzione pivot_table() e aggiungere reset_index() alla fine:

 #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

La tabella pivot risultante riassume il valore del punto medio per squadra e posizione e non ha più un multiIndice.

Tieni presente che la funzione pivot_table() calcola il valore medio per impostazione predefinita.

Per calcolare un’altra metrica, come la somma, utilizzare l’argomento aggfunc come segue:

 #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

La tabella pivot risultante riassume la somma dei valori dei punti per squadra e posizione e inoltre non ha un multiindice.

Nota : puoi trovare la documentazione completa della funzione panda pivot_table() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Panda: come aggiungere un filtro alla tabella pivot
Panda: come ordinare la tabella pivot in base ai valori nella colonna
Panda: come aggiungere totali parziali alla tabella pivot

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *