Σ
SDCalc
PertengahanTutorial·15 min

Mengira Sisihan Piawai dalam Excel & Python

Tutorial langkah demi langkah untuk mengira sisihan piawai dalam Excel (STDEV.S, STDEV.P) dan Python (numpy, pandas, statistics). Dengan contoh kod.

Excel: Gambaran Keseluruhan

Microsoft Excel menyediakan fungsi terbina dalam untuk mengira sisihan piawai sampel dan populasi. Fungsi-fungsi ini tersedia dalam semua versi moden Excel.

Fungsi Excel

FungsiJenisPenerangan
`STDEV.S()`SampelSisihan piawai sampel (bahagi dengan n-1)
`STDEV.P()`PopulasiSisihan piawai populasi (bahagi dengan N)
`STDEV()`SampelFungsi warisan, sama seperti STDEV.S
`STDEVP()`PopulasiFungsi warisan, sama seperti STDEV.P

Contoh 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

Petua Pro

Gunakan STDEV.S untuk kebanyakan analisis dunia sebenar. Hanya gunakan STDEV.P apabila anda pasti mempunyai populasi yang lengkap.

Python: Gambaran Keseluruhan

Python menawarkan pelbagai cara untuk mengira sisihan piawai. Pustaka yang paling lazim ialah NumPy, Pandas, dan modul statistics terbina dalam.

Menggunakan 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

Apakah ddof?

ddof bermaksud “Delta Darjah Kebebasan”. Menetapkan ddof=1 memberitahu NumPy untuk membahagi dengan (n-1) bagi SD sampel. Nilai lalai ddof=0 memberikan SD populasi.

Menggunakan 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

Perbandingan Pantas

AlatSD SampelSD Populasi
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()`