Panda: come ordinare i valori in una tabella a campi incrociati


È possibile utilizzare i seguenti metodi per ordinare righe o colonne in una tabella a campi incrociati Pandas:

Metodo 1: ordinare la tabella incrociata in base ai valori delle righe

 p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 0 , ascending= False )

Metodo 2: ordinare la tabella incrociata in base ai valori delle colonne

 p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 1 , ascending= False )

I seguenti esempi mostrano come utilizzare ciascuno di questi metodi nella pratica con la seguente tabella incrociata dei panda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#create crosstab to display count of players by team and position
my_crosstab = pd. crosstab (df. team , df. position )

#view crosstab
print (my_crosstab)

FG position
team          
AT 12
B 3 1
C 2 2

Esempio 1: ordinare la tabella incrociata in base ai valori della riga

Possiamo utilizzare la seguente sintassi per ordinare le righe della tabella incrociata in base ai valori delle colonne del team in ordine decrescente (dalla Z alla A):

 #create crosstab with rows sorted from Z to A
p.d. crosstab (df. team , df. position ). sort_index (axis= 0 , ascending= False )

position F G
team		
C 2 2
B 3 1
AT 12

Tieni presente che le righe della tabella incrociata sono ora ordinate in base ai valori della squadra in ordine alfabetico inverso.

Nota : per impostazione predefinita, la funzione crosstab() visualizza i valori delle righe della tabella incrociata in ordine alfabetico (dalla A alla Z).

Esempio 2: ordinare la tabella incrociata in base ai valori delle colonne

Possiamo utilizzare la seguente sintassi per ordinare le colonne della tabella incrociata in base ai valori delle colonne del team in ordine decrescente (dalla Z alla A):

 #create crosstab with columns sorted from Z to A
p.d. crosstab (df. team , df. position ). sort_index (axis= 1 , ascending= False )

G F position
team		
At 2 1
B 1 3
C 2 2

Tieni presente che le colonne della tabella a campi incrociati sono ora ordinate in base ai valori di posizione in ordine alfabetico inverso.

Nota : per impostazione predefinita, la funzione crosstab() visualizza i valori delle colonne della tabella incrociata in ordine alfabetico (dalla A alla Z).

Nota : puoi trovare la documentazione completa della funzione pandas crosstab() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: come creare una tabella incrociata con percentuali
Panda: come utilizzare aggfunc nella funzione crosstab()
Panda: come creare un grafico a barre da una tabella a campi incrociati

Aggiungi un commento

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