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 )
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