Panda: come creare un grafico a barre da una tabella a campi incrociati


È possibile utilizzare i seguenti metodi per creare un grafico a barre per visualizzare i conteggi in una tabella a campi incrociati Pandas:

Metodo 1: creare un grafico a barre raggruppate

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ')

Metodo 2: creare un grafico a barre in pila

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ', stacked= True )

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: creare un grafico a barre raggruppate da una tabella a campi incrociati

Possiamo utilizzare la seguente sintassi per creare un grafico a barre raggruppate dalla tabella a campi incrociati:

 import matplotlib. pyplot as plt

#create grouped bar plot
my_crosstab. plot (kind=' bar ', rot= 0 ) 

grafico a barre raggruppate dei panda dalla tabella a campi incrociati

Nota : l’argomento rot=0 ruota le etichette dell’asse x di 90 gradi per renderle più facili da leggere.

L’asse x mostra i nomi delle squadre mentre le barre raggruppate mostrano i conteggi di frequenza di ciascuna posizione.

Ad esempio, possiamo vedere:

  • C’è 1 giocatore nella squadra A con posizione F.
  • Ci sono 2 giocatori nella squadra A con posizione G.

E così via.

Esempio 2: creare un grafico a barre in pila da una tabella a campi incrociati

È possibile utilizzare la seguente sintassi per creare un grafico a barre in pila dalla tabella a campi incrociati:

 import matplotlib. pyplot as plt

#create stacked bar plot
my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 ) 

Nota : l’argomento stacked=True ci ha permesso di creare un grafico a barre in pila invece di un grafico a barre raggruppate.

L’asse x mostra i nomi delle squadre mentre le barre in pila mostrano i conteggi di frequenza di ciascuna posizione.

Ad esempio, possiamo vedere:

  • C’è 1 giocatore nella squadra A con posizione F.
  • Ci sono 2 giocatori nella squadra A con posizione G.
  • Ci sono 3 giocatori in totale nella squadra A.

E così via.

Questo tipo di grafico è particolarmente utile quando vogliamo visualizzare il numero totale di elementi per ciascun valore univoco sull’asse x.

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

Risorse addizionali

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

Panda: come creare una tabella incrociata con percentuali
Panda: come utilizzare aggfunc nella funzione crosstab()
Panda: come annotare le barre in un grafico a barre

Aggiungi un commento

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