본문으로 건너뛰기
실습하기

scipy.stats 소개

scipy.stats 모듈은 SciPy의 가장 유용한 구성 요소 중 하나입니다.

확률분포, 통계적 검정, 요약 통계 등 다양한 통계 분석 도구를 제공합니다.


준비하기

먼저 필요한 모듈을 임포트합니다.

NumPy와 SciPy Stats 임포트
import numpy as np
from scipy import stats

예시 1: 요약 통계

scipy.stats를 사용하면 평균, 중앙값, 최빈값 같은 요약 통계를 계산할 수 있습니다.

요약 통계
data = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11]

mean = np.mean(data)
median = np.median(data)
mode = stats.mode(data, keepdims=True)

print("Mean:", mean)
print("Median:", median)
print("Mode:", mode.mode[0], "Frequency:", mode.count[0])

이 예시에서는 주어진 데이터셋의 평균, 중앙값, 최빈값을 계산합니다.


예시 2: 가설 검정

scipy.stats로 단일 표본 t-검정을 수행할 수 있습니다.

단일 표본 t-검정
# 데이터의 평균이 5와 크게 다른지 검정
t_stat, p_value = stats.ttest_1samp(data, 5)

print("t-statistic:", t_stat)
print("p-value:", p_value)

p-value0.05보다 작으면 처음 세운 가설을 기각하고, 평균이 5와 크게 다르다고 결론짓습니다.


예시 3: 확률분포

scipy.stats를 사용해 정규분포의 확률밀도함수(PDF)를 생성할 수 있습니다.

정규분포 PDF
x = np.linspace(-3, 3, 100)
pdf = stats.norm.pdf(x, loc=0, scale=1)

print("PDF 값 5개:", pdf[:5])

이 예시에서는 평균 0, 표준편차 1인 정규분포의 PDF를 생성합니다.


핵심 요약

파이썬에서 통계 분석을 할 때 scipy.stats는 가장 먼저 떠올릴 수 있는 표준 도구입니다. 다음과 같은 기능을 제공합니다.

  • 요약 통계
  • 가설 검정
  • 확률분포

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!