Diagramma a Scatola
Box plot è un altro grafico estremamente comune in statistica, utilizzato per visualizzare la tendenza centrale, la dispersione e i potenziali outlier nei dati tramite i loro quartili.
Quartili
I quartili dividono i punti dati (ordinati in ordine crescente) in quattro parti di uguale dimensione. Sono tre:
Il primo quartile (Q1) è il valore centrale tra il valore più piccolo del campione e la mediana (il 25% dei dati si trova in questo intervallo);
Il secondo quartile (Q2) è la mediana stessa (il 50% dei dati si trova al di sotto della mediana);
Il terzo quartile (Q3) è il valore centrale tra la mediana del campione e il valore più alto del campione (il 75% dei dati si trova al di sotto del Q3).
Elementi del Box Plot
Il lato destro del rettangolo rosso rappresenta il terzo quartile e il lato sinistro rappresenta il primo quartile;
Q3 - Q1 è chiamato intervallo interquartile (IQR), rappresentato dal rettangolo in cui la linea gialla indica la mediana;
Le linee nere all'esterno del rettangolo sono chiamate baffi. Quella a sinistra rappresenta , mentre quella a destra rappresenta ;
I punti dati che si trovano al di fuori dei baffi sono chiamati outlier.
Il passo successivo è generare un box plot utilizzando la libreria matplotlib
:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a box plot for the Seattle temperatures plt.boxplot(weather_df['Seattle']) plt.show()
Dati del Box Plot
La funzione boxplot()
del modulo pyplot
viene utilizzata con il primo e unico parametro obbligatorio x
che rappresenta i dati. Questi dati possono essere un oggetto simile a un array (ad esempio, una Series
), un array 2D (viene disegnato un box plot per ogni colonna), oppure una sequenza di array 1D (viene disegnato un box plot per ogni array).
Parametri Opzionali
Il parametro tick_labels
è un'eccezione. Questo in particolare è utile non solo per etichettare un singolo box plot, ma anche per etichettare i box plot quando c'è più di un array:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating two box plots for Boston and Seattle temperatures plt.boxplot(weather_df, tick_labels=['Boston', 'Seattle']) plt.show()
In questo esempio, l'intero DataFrame
con due colonne è stato passato a boxplot()
, producendo box plot separati per ciascuna colonna con etichette appropriate assegnate automaticamente.
Sono inoltre disponibili numerosi parametri opzionali per personalizzare il box plot, che puoi esplorare nella documentazione di boxplot()
, anche se nella pratica potresti utilizzarli raramente.
Swipe to start coding
Crea due box plot utilizzando due campioni dalla distribuzione normale standard:
- Utilizza la funzione corretta per creare i box plot.
- Usa la lista di
normal_sample_1
enormal_sample_2
(in quest'ordine da sinistra a destra) come dati. - Etichetta il box plot di sinistra come
First sample
e quello di destra comeSecond sample
utilizzando lalist
.
Soluzione
Grazie per i tuoi commenti!