Σ
SDCalc
בינונייםמדריכים·15 min

חישוב סטיית תקן ב-Excel ו-Python

מדריכים שלב אחר שלב לחישוב סטיית תקן ב-Excel (STDEV.S, STDEV.P) וב-Python (numpy, pandas, statistics). עם דוגמאות קוד.

Excel: סקירה כללית

Microsoft Excel מספק פונקציות מובנות לחישוב סטיית תקן הן של מדגם והן של אוכלוסייה. פונקציות אלה זמינות בכל הגרסאות המודרניות של Excel.

פונקציות Excel

פונקציהסוגתיאור
`STDEV.S()`מדגםסטיית תקן של מדגם (מחלק ב-n-1)
`STDEV.P()`אוכלוסייהסטיית תקן של אוכלוסייה (מחלק ב-N)
`STDEV()`מדגםפונקציה ישנה, זהה ל-STDEV.S
`STDEVP()`אוכלוסייהפונקציה ישנה, זהה ל-STDEV.P

דוגמאות 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

טיפ מקצועי

השתמשו ב-STDEV.S עבור רוב הניתוחים מהעולם האמיתי. השתמשו ב-STDEV.P רק כאשר אתם בטוחים שיש לכם את האוכלוסייה המלאה.

Python: סקירה כללית

Python מציע מספר דרכים לחישוב סטיית תקן. הספריות הנפוצות ביותר הן NumPy, Pandas, ומודול ה-statistics המובנה.

שימוש ב-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

מהו ddof?

ddof הוא קיצור של “Delta Degrees of Freedom” (דלתה דרגות חופש). הגדרת ddof=1 אומרת ל-NumPy לחלק ב-(n-1) לסטיית תקן של מדגם. ברירת המחדל ddof=0 נותנת סטיית תקן של אוכלוסייה.

שימוש ב-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

השוואה מהירה

כליסטיית תקן מדגםסטיית תקן אוכלוסייה
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()`