Numpy mean() vs average(): qual è la differenza?
Puoi usare le funzioni np.mean() o np.average() per calcolare il valore medio di un array in Python.
Ecco la sottile differenza tra le due funzioni:
- np.mean calcola sempre la media aritmetica.
- np.average ha un parametro di peso opzionale che può essere utilizzato per calcolare una media ponderata.
Gli esempi seguenti mostrano come utilizzare nella pratica ciascuna funzione.
Esempio 1: utilizzare np.mean() e np.average() senza pesi
Supponiamo di avere la seguente tabella in Python che contiene sette valori:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Possiamo usare np.mean() e np.average() per calcolare il valore medio di questo array:
import numpy as np
#calculate average value of array
n.p. mean (data)
6.142857142857143
#calculate average value of array
n.p. average (data)
6.142857142857143
Entrambe le funzioni restituiscono esattamente lo stesso valore.
Entrambe le funzioni hanno utilizzato la seguente formula per calcolare la media:
Media = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6,142857 …
Esempio 2: utilizzare np.average() con i pesi
Supponiamo ancora una volta di avere il seguente array in Python che contiene sette valori:
#create array of values
data = [1, 4, 5, 7, 8, 8, 10]
Possiamo usare np.average() per calcolare una media ponderata per questo array fornendo un elenco di valori ai parametri del peso :
import numpy as np
#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))
5.45
La media ponderata risulta essere 5,45 .
Ecco la formula utilizzata da np.average() per calcolare questo valore:
Media ponderata = 1*,1 + 4*,2 + 5*,4 + 7*,05 + 8*,05 + 8*,1 + 10*,1 = 5,45 .
Tieni presente che non possiamo utilizzare np.mean() per eseguire questo calcolo poiché questa funzione non ha un parametro di peso .
Fare riferimento alla documentazione di NumPy per una spiegazione completa delle funzioni np.mean() e np.average() .
Risorse addizionali
I seguenti tutorial spiegano come calcolare altri valori medi in Python:
Come calcolare le medie mobili in Python
Come calcolare una media cumulativa in Python