Considera una lista di numeri e per la media pesata anche una lista di pesi
1 2 |
NUMERI = [ ... ] PESI = [ ... ] |
Media geometrica
Osserva
- la radice ennesima del prodotto
Soluzione 1
Da Python 3.8: statistics.geometric_mean(z)
1 |
m=statistics.geometric_mean(NUMERI) |
Soluzione 2
1 2 3 4 5 6 7 |
def media_geometrica(lista): prodotto=1 for x in lista: prodotto *= x return prodotto**(1/len(lista)) m=media_geometrica(NUMERI) |
Media quadratica
Osserva
- la radice quadrata della media aritmetica dei quadrati
1 2 3 4 5 6 7 8 9 10 |
import math def media_quadratica(lista): somma=0 for x in lista: somma += x**2 return math.sqrt(somma/len(lista)) m=media_quadratica(NUMERI) |
Media armonica
Osserva
- il reciproco della media aritmetica dei reciproci
Soluzione 1
Da Python 3.8, statistics.harmonic_mean(z)
1 |
m=statistics.harmonic_mean(NUMERI) |
Soluzione 2
1 2 3 4 5 6 7 |
def media_armonica(lista): somma=0 for x in lista: somma += 1/x return len(lista)/somma m=media_armonica(NUMERI) |
Media pesata
- il rapporto tra la somma dei prodotti e la somma dei pesi
- la sequenza di pesi ha la stessa lunghezza della sequenza di numeri
1 2 3 4 5 6 7 8 9 |
def media_pesata(lista, pesi): somma_prod = 0 somma_pesi = 0 for i in range(len(lista)): somma_prod += lista[i]*pesi[i] somma_pesi += pesi[i] return somma_prod/somma_pesi m=media_pesata(NUMERI, PESI) |