Σ
SDCalc
KözéphaladóOktatóanyagok·15 min

Szórás számítása Excelben és Pythonban

Lépésenkénti oktatóanyagok a szórás számításához Excelben (STDEV.S, STDEV.P) és Pythonban (numpy, pandas, statistics). Kódpéldákkal.

Excel: Áttekintés

A Microsoft Excel beépített függvényeket kínál mind a minta-, mind a populációs szórás kiszámításához. Ezek a függvények az Excel minden modern verziójában elérhetők.

Excel-függvények

FüggvényTípusLeírás
`STDEV.S()`MintaMintaszórás (n-1-gyel oszt)
`STDEV.P()`PopulációPopulációs szórás (N-nel oszt)
`STDEV()`MintaRégi függvény, megegyezik a STDEV.S-sel
`STDEVP()`PopulációRégi függvény, megegyezik a STDEV.P-vel

Excel-példák

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

Profi tipp

A legtöbb valós elemzéshez a STDEV.S függvényt használd. Csak akkor használd a STDEV.P-t, ha biztos vagy benne, hogy a teljes populációval rendelkezel.

Python: Áttekintés

A Python több módszert is kínál a szórás kiszámítására. A leggyakrabban használt könyvtárak a NumPy, a Pandas és a beépített statistics modul.

NumPy használata

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

Mi az a ddof?

A ddof a “Delta Degrees of Freedom” (Delta szabadságfokok) rövidítése. A ddof=1 beállítás megmondja a NumPy-nak, hogy (n-1)-gyel osszon a mintaszóráshoz. Az alapértelmezett ddof=0 a populációs szórást adja.

Pandas használata

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

Gyors összehasonlítás

EszközMintaszórásPopulációs szórás
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()`