Σ
SDCalc
IntermédiaireTutoriels·15 min

Calculer l’écart type dans Excel et Python

Tutoriels pas à pas pour calculer l’écart type dans Excel (ECARTYPE.STANDARD, ECARTYPE.PEARSON) et Python (numpy, pandas, statistics). Avec des exemples de code.

Excel : présentation

Microsoft Excel propose des fonctions intégrées pour calculer l’écart type d’échantillon et de population. Ces fonctions sont disponibles dans toutes les versions modernes d’Excel.

Fonctions Excel

FonctionTypeDescription
`STDEV.S()`ÉchantillonÉcart type d’échantillon (divise par n-1)
`STDEV.P()`PopulationÉcart type de population (divise par N)
`STDEV()`ÉchantillonFonction historique, identique à STDEV.S
`STDEVP()`PopulationFonction historique, identique à STDEV.P

Exemples Excel

Excel Formulas
// Data in cells A1:A10
=STDEV.S(A1:A10)     // Sample SD
=STDEV.P(A1:A10)     // Population SD

// For specific values
=STDEV.S(4, 8, 6, 5, 3)    // Returns 1.924

// Ignoring text and logical values
=STDEV.S(A1:A10)    // Ignores text
=STDEVA(A1:A10)     // Includes text as 0

Astuce

Utilisez STDEV.S pour la plupart des analyses. N’utilisez STDEV.P que lorsque vous êtes certain de disposer de la population complète.

Python : présentation

Python offre plusieurs façons de calculer l’écart type. Les bibliothèques les plus courantes sont NumPy, Pandas et le module statistics intégré.

Avec NumPy

Python (NumPy)
import numpy as np

data = [4, 8, 6, 5, 3]

# Population standard deviation (default)
pop_sd = np.std(data)
print(f"Population SD: {pop_sd}")  # 1.720

# Sample standard deviation
sample_sd = np.std(data, ddof=1)
print(f"Sample SD: {sample_sd}")  # 1.924

Qu’est-ce que ddof ?

ddof signifie « Delta Degrees of Freedom » (delta des degrés de liberté). Fixer ddof=1 indique à NumPy de diviser par (n-1) pour l’écart type d’échantillon. La valeur par défaut ddof=0 donne l’écart type de population.

Avec Pandas

Python (Pandas)
import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'scores': [85, 90, 78, 92, 88]})

# Sample SD (default in pandas)
sample_sd = df['scores'].std()
print(f"Sample SD: {sample_sd}")

# Population SD
pop_sd = df['scores'].std(ddof=0)
print(f"Population SD: {pop_sd}")

# Multiple columns at once
df.std()  # Returns SD for all numeric columns

Comparatif rapide

OutilÉcart type d’échantillonÉcart type de population
Excel`STDEV.S()``STDEV.P()`
NumPy`np.std(data, ddof=1)``np.std(data)`
Pandas`df.std()``df.std(ddof=0)`
Python statistics`stdev()``pstdev()`