statistics.mean(), fmean(), geometric_mean(), harmonic_mean() în Python

Statistică Python 3.4+ (fmean, geometric_mean: 3.8+; weights: 3.10+/3.11+)

Media aritmetică, geometrică și armonică a unei liste de numere.

Sintaxă
statistics.mean(date)
statistics.fmean(date, weights=None)
statistics.geometric_mean(date)
statistics.harmonic_mean(date, weights=None)

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 = 50 km/h este greșit pentru același drum dus-întors. Rezultatul corect este media armonică, 48 km/h.

Comenzi înrudite