Una delle maniere migliori per comprendere un certo set di dati consiste nel visualizzarlo. Un istogramma รจ un tipo di grafico che puรฒ aiutarci a capire la distribuzione dei nostri dati.
In questa micro-lezione, impareremo a costruire un istogramma con Matplotlib, una libreria per la visualizzazione dei dati di Python.
Importiamo Matplolib
Per prima cosa, importiamo Matplotlib:
import matplotlib
import matplotlib.pyplot as ppTi consiglio anche di scrivere la seguente riga di codice per far sรฌ che i grafici siano raffigurati immediatamente, senza dover eseguire un comando specifico.
%matplotlib inlinePartiamo dal dataframe
Immaginiamo di avere un dataframe come questo qui:

Il nostro istogramma andrร a rappresentare la distribuzione dei valori della colonna โValore Account โฌโ.
Costruiamo un istogramma semplice
Per costruire un istogramma semplice con Matplotlib non ci resta che scrivere la riga seguente:
df['Valore Account โฌ'].plot(kind='hist')Ed ecco qui il risultato:

Ad una prima occhiata, siamo in grado di capire che la classe piรน rappresentata รจ quella degli account con un valore compreso tra 100โฌ e 200โฌ.
Aggiungere un tocco di colore
Per scegliere liberamente il colore del nostro grafico dobbiamo semplicemente specificare lโargomento color:
# opzione 1
df['Valore Account โฌ'].plot(kind='hist', color='gold')
# opzione 2
df['Valore Account โฌ'].plot(kind='hist', color='aquamarine')
# opzione 3
df['Valore Account โฌ'].plot(kind='hist', color='indigo')
# opzione 4
df['Valore Account โฌ'].plot(kind='hist', color='coral')
# opzione 5
df['Valore Account โฌ'].plot(kind='hist', color='teal')
# opzione 6
df['Valore Account โฌ'].plot(kind='hist', color='crimson')Ecco il risultato per ogni colore specificato qui sopra:

Scegliere il numero delle classi
Quante classi raffigureremo nel nostro istogramma? Di default, Matplotlib ne genera dieci. Tuttavia, possiamo cambiare il numero di classi generate specificando lโargomento bins. Ecco qui alcuni esempi:
# 4 classi
df['Valore Account โฌ'].plot(kind='hist', color='teal', bins=4)
# 6 classi
df['Valore Account โฌ'].plot(kind='hist', color='teal', bins=6)
# 8 classi
df['Valore Account โฌ'].plot(kind='hist', color='teal', bins=8)Ed ecco qui il risultato per ogni opzione:

Come possiamo osservare, un numero di classi basso contribuisce a visualizzare i dati in maniera generale, sintetica e uniforme.
Personalmente, per questo esempio preferisco avere 6 classi e dโora in poi continueremo a lavorare con questa variante del nostro istogramma.
Aggiungere la trasparenza
A volte puรฒ capitare di voler aggiungere delle altre misure al proprio istogramma (come faremo in seguito). In tal caso, ai fini di migliorare la leggibilitร del grafico, possiamo specificare un livello di trasparenza con lโargomento alpha:
df['Valore Account โฌ'].plot(kind='hist', color='teal', bins=6, alpha=0.6)
Quando il valore di alpha si avvicina a 1, allora il colore sarร piรน opaco. Inversamente, quando alpha tende a zero, il livello di trasparenza aumenta.
Aggiungere la media e la mediana
Per una maggiore comprensione dei dati, una buona idea รจ quella di rendere visibili i valori della media e della mediana della nostra distribuzione.
Per rendere visibili questi valori, dobbiamo usare axvline() :
pp.axvline(df['Valore Account โฌ'].mean(), c='navy')
pp.axvline(df['Valore Account โฌ'].median(), c='navy', linestyle='--')Per entrambe le linee, abbiamo deciso di specificare il colore (indicato da โcโ).
Nel caso della mediana, abbiamo scelto di raffigurare una linea tratteggiata. Invece, nel caso della media, abbiamo lasciato lo stile di default (riga piena). Diamo unโocchiata al risultato:

Conclusione
Come abbiamo visto, costruire e personalizzare un istogramma con Matplotlib puรฒ aiutarci a comprendere la distribuzione dei dati di una colonna del nostro dataframe.
Ecco qui il codice completo per ottenere lโistogramma analizzato in questa micro-lezione:
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as pp
%matplotlib inline
df['Valore Account โฌ'].plot(kind='hist', color='teal', bins=6, alpha=0.6)
pp.axvline(df['Valore Account โฌ'].mean(), c='navy')
pp.axvline(df['Valore Account โฌ'].median(),c='navy', linestyle='--')Alla prossima micro-lezione ๐
