Σ
SDCalc
IntermedioTutoriales·15 min

Calcular el Desvío Estándar en Excel y Python

Tutoriales paso a paso para calcular el desvío estándar en Excel (STDEV.S, STDEV.P) y Python (numpy, pandas, statistics). Con ejemplos de código.

Excel: Descripción general

Microsoft Excel proporciona funciones integradas para calcular tanto el desvío estándar muestral como el poblacional. Estas funciones están disponibles en todas las versiones modernas de Excel.

Funciones de Excel

FunciónTipoDescripción
`STDEV.S()`MuestralDesvío estándar muestral (divide por n-1)
`STDEV.P()`PoblacionalDesvío estándar poblacional (divide por N)
`STDEV()`MuestralFunción heredada, igual que STDEV.S
`STDEVP()`PoblacionalFunción heredada, igual que STDEV.P

Ejemplos en 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

Consejo profesional

Usá STDEV.S para la mayoría de los análisis del mundo real. Solo usá STDEV.P cuando estés seguro de que tenés la población completa.

Python: Descripción general

Python ofrece múltiples formas de calcular el desvío estándar. Las bibliotecas más comunes son NumPy, Pandas y el módulo integrado statistics.

Usando 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é es ddof?

ddof significa “Delta Degrees of Freedom” (Delta de grados de libertad). Configurar ddof=1 le indica a NumPy que divida por (n-1) para el DE muestral. El valor predeterminado ddof=0 da el DE poblacional.

Usando 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

Comparación rápida

HerramientaDE muestralDE poblacional
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()`