파이썬(Python)에서 statistics 모듈을 사용하면 여러 가지 통계량을 계산할 수 있다. 이번 포스팅에서는 statistics 모듈을 이용하여 어떤 것들을 할 수 있는지 알아보자.
statistics 모듈
statistics 모듈은 파이썬 버전이 변함에 따라서 새로운 기능이 추가되었다. 이 포스팅은 파이썬 버전 3.11.2를 기준으로 작성한 것이다.
1) 통계량 계산하기
아래 코드는 statistics 모듈을 이용하여 계산할 수 있는 통계량들이다. statistics가 제공하는 더 자세한 통계량들을 알고 싶다면 statistics 개발 문서를 참고하기 바란다.
import statistics as st
a = [1,2,4,5,5,6]
b = [3,6,6,8,9,10]
print()
print('통계량')
print('평균', st.mean(a))
print('조화 평균', st.harmonic_mean(a))
print('기하 평균', st.geometric_mean(a))
print()
print('중앙값', st.median(a))
print('작은 중앙값', st.median_low(a))
print('큰 중앙값', st.median_high(a))
print('그룹 중앙값', st.median_grouped(a))
print('데이터의 3등분점', st.quantiles(a, n=3))
print()
print('최빈값', st.mode(a))
print('표본 분산', st.variance(a)) ## 분모를 len(a)-1로 설정
print('표본 표준 편차', st.stdev(a)) ## 표본 분산의 양의 제곱근
print('모분산', st.pvariance(a)) ## 분모를 len(a)로 설정
print('모표준편차', st.pstdev(a)) ## 모분산의 양의 제곱근
print()
print('상관 계수', st.correlation(a, b))
print('공분산', st.covariance(a, b))
2) 단순 선형 회귀
statistics 모형을 이용하여 단순 선형 회귀(설명 변수, 반응 변수가 하나인 회귀) 모형을 추정할 수 있다.
slope, intercept = st.linear_regression(a, b) ## 기울기와 절편 추정
print('3에서의 추정값', slope*3+intercept)
3) 정규분포 확률 변수
NormalDist 객체를 이용하면 정규분포와 관련된 여러가지 일을 할 수 있다.
norm_rv = st.NormalDist(mu=0, sigma=1) ## 평균이 0이고 표준편차가 1인 정규분포
print('5개 정규난수', norm_rv.samples(5, seed=100))
print('0에서의 확률밀도함수값', norm_rv.pdf(0))
print('0에서의 누적분포함수값', norm_rv.cdf(0))
print('왼쪽 꼬리 넓이 0.05를 만족하는 x값', norm_rv.inv_cdf(0.05))
'프로그래밍 > Python' 카테고리의 다른 글
파이썬(Python) 텍스트 파일 쉽게 수정하기 (feat. fileinput) (0) | 2023.04.19 |
---|---|
파이썬(Python) 폴더와 파일 다루기 (feat. os, pathlib) (2) | 2023.04.14 |
파이썬(Python) time 모듈을 이용하여 시간 정보 가져오기 (0) | 2023.03.22 |
[병렬 프로그래밍] 5. multiprocessing 모듈을 이용하여 여러 인자를 갖는 함수 병렬 처리하기 (feat. starmap) (0) | 2023.03.22 |
파이썬(Python) logging 모듈을 이용한 로그(Log) 남기기 (2) | 2023.03.21 |
댓글