Panda: come creare un grafico a barre per visualizzare i 10 valori principali
Puoi utilizzare la seguente sintassi di base per creare un grafico a barre in panda che includa solo i 10 valori più frequenti in una colonna specifica:
import pandas as pd import matplotlib. pyplot as plt #find values with top 10 occurrences in 'my_column' top_10 = (df[' my_column ']. value_counts ()). iloc [:10] #create bar chart to visualize top 10 values top_10. plot (kind='bar')
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: crea un grafico a barre in Pandas per visualizzare i primi 10 valori
Supponiamo di avere il seguente DataFrame panda che contiene informazioni sul nome della squadra e sui punti segnati da 500 diversi giocatori di basket:
import pandas as pd import numpy as np from string import ascii_uppercase import random from random import choice #make this example reproducible random. seeds (1) n.p. random . seeds (1) #createDataFrame df = pd. DataFrame ({' team ': [choice(ascii_uppercase) for _ in range(500)], ' points ': np. random . uniform (0, 20, 500)}) #view first five rows of DataFrame print ( df.head ()) team points 0 E 8.340440 1 S 14.406490 2 Z 0.002287 3 Y 6.046651 4 C 2.935118
Possiamo utilizzare la seguente sintassi per creare un grafico a barre che mostri i 10 valori più frequenti nella colonna squadra :
import matplotlib. pyplot as plt #find teams with top 10 occurrences top_10_teams = (df[' team ']. value_counts ()).[:10] #create bar chart of top 10 teams top_10_teams. plot (kind=' bar ')
Il grafico a barre contiene solo i nomi delle 10 squadre più frequenti.
L’asse x mostra il nome della squadra e l’asse y mostra la frequenza.
Tieni presente che possiamo anche personalizzare la trama per renderla esteticamente più gradevole:
import matplotlib. pyplot as plt #find teams with top 10 occurrences top_10_teams = (df[' team ']. value_counts ()).[:10] #create bar chart of top 10 teams top_10_teams. plot (kind=' bar ', edgecolor=' black ', rot=0) #add axis labels plt. xlabel (' Team ') plt. ylabel (' Frequency ')
Nota che l’argomento edgecolor ha aggiunto un bordo nero attorno a ciascuna barra e l’argomento rot ha ruotato le etichette dell’asse x di 90 gradi per renderle più facili da leggere.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: come creare un grafico a barre in pila
Panda: come annotare le barre in un grafico a barre
Panda: come tracciare più colonne su un grafico a barre