Apprenez en lisant dans l'ordre

math et statistics — Calcul sur une valeur et agrégation de données

Apprends les modules math et statistics de Python depuis la base. Couvre les calculs sur une valeur avec math.sqrt / pi / floor / ceil / log, l'agrégation de données avec statistics.mean / median / mode / stdev, et la répartition des rôles entre les deux modules — avec des exercices pratiques exécutables.

Cet article cible les modules numériques de Python pour le cas courant où le `float` standard suffit. math gère les opérations sur une seule valeur (racines carrées, logarithmes, fonctions trigonométriques) ; statistics gère l'agrégation d'une séquence de nombres (moyenne, médiane, écart-type). Quand il faut éviter strictement les erreurs de virgule flottante, le prochain article sur decimal / fractions est l'endroit indiqué.

Comment math et statistics se répartissent les rôles
mathsqrt / floor / pistatisticsmean / median / stdevEntrée : un nombre(int / float)Entrée : liste de nombres[1200, 1500, ...]
math transforme un seul nombre ; statistics résume une liste de nombres. La forme de l'entrée te dit quel module choisir.

math — Opérations sur un seul nombre

math est la bibliothèque standard pour les opérations sur un seul nombre. math.sqrt pour les racines carrées, math.floor / math.ceil pour arrondir vers le bas / le haut, math.log pour les logarithmes, math.sin / math.cos pour la trigonométrie — toutes les fonctions mathématiques classiques sont là. Le module expose aussi des constantes en attributs comme math.pi et math.e (pi et la base du logarithme népérien).

Les principales fonctions de math
math.sqrt(x)racine carréemath.floor(x)arrondi vers le basmath.ceil(x)arrondi vers le hautmath.log(x, base)logarithmemath.pipi (constante)math.sin(x)math.cos(x)trigonométrie
math.sqrt(x) est la racine carrée, math.floor(x) / math.ceil(x) arrondissent vers le bas / le haut, math.log(x, base) est le logarithme. math.pi et math.e sont des valeurs en elles-mêmes (des attributs, pas des fonctions).
Fonction / AttributSensExemple
math.sqrt(x)Racine carrée (retourne un float)math.sqrt(16) → 4.0
math.floor(x)Arrondi vers le bas (retourne un int)math.floor(3.7) → 3
math.ceil(x)Arrondi vers le haut (retourne un int)math.ceil(3.2) → 4
math.log(x, base)Logarithme (logarithme népérien si base est omis)math.log(100, 10) → 2.0
math.piPi (constante)3.141592653589793
math.eBase du logarithme népérien (constante)2.718281828459045
import math

print(math.sqrt(16))         # 4.0  (float)
print(math.floor(3.7))       # 3    (int)
print(math.ceil(3.2))        # 4    (int)
print(math.log(100, 10))     # 2.0
print(math.pi)               # 3.141592653589793
print(round(math.pi, 4))     # 3.1416  (arrondi à 4 décimales)

Essaie les fonctions et constantes de math les plus courantes.

① Importe math.

② Calcule la racine carrée de 16 avec math.sqrt et affiche-la sous la forme sqrt(16): ◯.◯.

③ Calcule floor de 3.7 et ceil de 3.2 avec math.floor / math.ceil, et affiche-les sous la forme floor: ◯ ceil: ◯.

④ Arrondis math.pi à 4 décimales et affiche-le sous la forme pi (4 dp): ◯.◯◯◯◯.

(Si ton code s'exécute correctement, l'explication apparaîtra.)

Éditeur Python

Exécuter le code pour voir le résultat

statistics — Agréger et résumer des données

statistics est la bibliothèque standard pour agréger un groupe de valeurs. statistics.mean retourne la moyenne arithmétique, statistics.median la médiane, statistics.mode la valeur la plus fréquente, et statistics.stdev l'écart-type d'échantillon — le tout en un seul appel. Tu peux aussi vérifier des observations classiques en pratique, comme la médiane qui reste un meilleur résumé que la moyenne face aux valeurs aberrantes, en quelques lignes.

Les principales fonctions de statistics
[1200, 1500,1100, 1400]liste de nombresstatistics.mean→ moyennestatistics.median→ médianestatistics.stdev→ écart-type
statistics.mean est la moyenne, statistics.median est la médiane, statistics.mode est la valeur la plus fréquente, statistics.stdev est l'écart-type. Toutes prennent une liste de nombres et retournent un nombre.
FonctionSensExemple
statistics.mean(d)Moyenne arithmétiquemean([1,2,3]) → 2
statistics.median(d)Médiane (résiste aux valeurs aberrantes)median([1,2,3,4]) → 2.5
statistics.mode(d)Mode (valeur la plus fréquente)mode([1,2,2,3]) → 2
statistics.stdev(d)Écart-type d'échantillonMesure la dispersion des valeurs
import statistics

prices = [1200, 1500, 1100, 1400]

print(statistics.mean(prices))    # 1300       (moyenne)
print(statistics.median(prices))  # 1300.0     (médiane)
print(statistics.stdev(prices))   # ~182.57    (écart-type)

# Avec une valeur aberrante, moyenne et médiane divergent
with_outlier = [1200, 1500, 1100, 1400, 100000]
print(statistics.mean(with_outlier))    # 21040  (tirée par l'aberrante)
print(statistics.median(with_outlier))  # 1400   (résiste à l'aberrante)

Calcule la moyenne, la médiane et l'écart-type de quatre prix de produits.

① Importe statistics et place les quatre prix [1200, 1500, 1100, 1400] dans une liste appelée prices.

② Calcule la moyenne avec statistics.mean, arrondis-la à un entier et affiche-la sous la forme mean: ◯.

③ Calcule la médiane avec statistics.median, arrondis-la à un entier et affiche-la sous la forme median: ◯.

④ Calcule l'écart-type avec statistics.stdev, arrondis-le à 1 décimale et affiche-le sous la forme stdev: ◯.◯.

Éditeur Python

Exécuter le code pour voir le résultat
QUIZ

Vérification des connaissances

Répondez à chaque question une par une.

Question 1Quel est le bon appel pour calculer la racine carrée d'un seul nombre ?

Question 2Quelle est la manière la plus appropriée de calculer la moyenne d'une liste ?

Question 3Lequel retourne la médiane résistante aux valeurs aberrantes ?