Ce face statistics.mean(), fmean(), geometric_mean(), harmonic_mean()
mean() calculează media aritmetică (suma împărțită la număr), păstrând tipul exact al datelor (Fraction, Decimal). fmean() (3.8+) transformă totul în float, este mai rapidă și acceptă ponderi (3.11+), de exemplu pentru o medie cu credite.
geometric_mean() este potrivită pentru rate de creștere (procente care se înmulțesc), iar harmonic_mean() pentru medii de viteze sau de rate pe aceeași distanță. Toate aruncă StatisticsError pentru date goale.
Parametri
| Parametru | Descriere |
|---|---|
date |
Numerele. |
weights |
Opțional. Ponderile fiecărei valori. |
Ce returnează
Media, ca număr.
Exemple
Exemplul 1: Medii simple și ponderate
import statistics
note = [9, 7, 10, 8]
print(statistics.mean(note), statistics.fmean(note))
credite = [5, 3, 4, 2]
print(round(statistics.fmean(note, weights=credite), 2))
Rezultat
8.5 8.5
8.71
Exemplul 2: Medie geometrică și armonică
Un preț crește cu 10%, apoi cu 50%, apoi scade cu 20%. Creșterea medie anuală se calculează cu media geometrică a factorilor. Pentru 60 km/h la dus și 40 km/h la întors, viteza medie este media armonică.
import statistics
factori = [1.10, 1.50, 0.80]
print(round(statistics.geometric_mean(factori), 4))
print(statistics.harmonic_mean([60, 40]))
Rezultat
1.097
48.0
Greșeli frecvente
- Faci media vitezelor cu
mean():(60 + 40) / 2 = 50km/h este greșit pentru același drum dus-întors. Rezultatul corect este media armonică, 48 km/h.
Comenzi înrudite
statistics.median() și variantele ei: Valoarea din mijloc a unei liste sortate, mai puțin sensibilă la valori extreme decât media.statistics.stdev(), pstdev(), variance(), pvariance(): Abaterea standard și varianța: cât de împrăștiate sunt valorile în jurul mediei.sum(): Adună toate numerele dintr-o colecție.