Σ
SDCalc
IntermédioTutoriais·15 min

Calcular o Desvio-Padrão no Excel e Python

Tutoriais passo a passo para calcular o desvio-padrão no Excel (STDEV.S, STDEV.P) e em Python (numpy, pandas, statistics). Com exemplos de código.

Excel: Visão Geral

O Microsoft Excel disponibiliza funções incorporadas para calcular tanto o desvio-padrão amostral como o populacional. Estas funções estão disponíveis em todas as versões modernas do Excel.

Funções do Excel

FunçãoTipoDescrição
`STDEV.S()`AmostralDesvio-padrão amostral (divide por n-1)
`STDEV.P()`PopulacionalDesvio-padrão populacional (divide por N)
`STDEV()`AmostralFunção antiga, igual a STDEV.S
`STDEVP()`PopulacionalFunção antiga, igual a STDEV.P

Exemplos no 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

Dica Profissional

Utiliza STDEV.S para a maioria das análises do mundo real. Só utiliza STDEV.P quando tens a certeza de que possuis a população completa.

Python: Visão Geral

O Python oferece várias formas de calcular o desvio-padrão. As bibliotecas mais comuns são o NumPy, o Pandas e o módulo incorporado statistics.

Utilizar o 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

O que é o ddof?

ddof significa “Delta Degrees of Freedom” (Delta dos Graus de Liberdade). Definir ddof=1 indica ao NumPy para dividir por (n-1) para o DP amostral. O valor predefinido ddof=0 fornece o DP populacional.

Utilizar o 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

Comparação Rápida

FerramentaDP AmostralDP Populacional
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()`