Σ
SDCalc
IntermedioTutoriales·15 min

Calcular la desviación estándar en Excel y Python

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

Excel: Visión general

Microsoft Excel proporciona funciones integradas para calcular tanto la desviación estándar muestral como la poblacional. Estas funciones están disponibles en todas las versiones modernas de Excel.

Funciones de Excel

FunciónTipoDescripción
`STDEV.S()`MuestralDesviación estándar muestral (divide entre n-1)
`STDEV.P()`PoblacionalDesviación estándar poblacional (divide entre N)
`STDEV()`MuestralFunción heredada, equivalente a STDEV.S
`STDEVP()`PoblacionalFunción heredada, equivalente a 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

Utilice STDEV.S para la mayoría de los análisis del mundo real. Solo use STDEV.P cuando tenga la certeza de que cuenta con la población completa.

Python: Visión general

Python ofrece múltiples formas de calcular la desviación estándar. Las bibliotecas más utilizadas son NumPy, Pandas y el módulo integrado statistics.

Uso de 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 de grados de libertad" (Delta Degrees of Freedom). Establecer ddof=1 indica a NumPy que divida entre (n-1) para la DE muestral. El valor predeterminado ddof=0 proporciona la DE poblacional.

Uso de 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()`