Python/NumPy | Pandas

[Python] NumPy - 기술 통계 2

비번변경 2022. 11. 26. 17:46

개요

2022.11.25 - [Python] NumPy - 기술 통계 1에 이어서 기술 통계 관련 함수를 마저 정리한다.

 

 

최댓값과 최솟값

데이터 중에서 가장 큰 값과 작은 값인 최댓값과 최솟값은 max/min 함수로 찾는다.

x = np.array([18,   5,  10,  23,  19,  -8,  10,   0,   0,   5,   2,  15,   8,
              2,   5,   4,  15,  -1,   4,  -7, -24,   7,   9,  -6,  23, -13])
x.max(), x.min()

# 실행 결과
(23, -24)

 

 

중앙값

데이터를 크기 순으로 정렬했을 때 가운데에 있는 수를 중앙값이라고 한다. 만약 데이터의 수가 짝수이면 가운데에 있는 두 수의 평균을 의미한다.

np.median(x)

# 실행 결과
5.0

 

 

사분위수

데이터를 가장 작은 수부터 커지는 순으로 정려했을 때 1/4, 2/4, 3/4 위치에 있는 수를 사분위수(quartile)라고 한다. 각각 1사분위수, 2사분위수, 3사분위수라고 한다.

 

또는 위치를 1/100 단위로 나눈 백분위수(percentile)를 사용하기도 한다. percentile 함수를 사용할 때는 100을 기준으로 가져올 분위값을 전달한다.

np.percentile(x, 25) # 1사분위수
np.percentile(x, 50) # 2사분위수
np.percentile(x, 75) # 3사분위수

# 실행 결과
0.0
5.0
10.0

 

quantile 함수를 사용할 때는 1을 기준으로 분위값을 전달한다.

np.quantile(x, 0.25) # 1사분위수
np.quantile(x, 0.50) # 2사분위수
np.quantile(x, 0.75) # 3사분위수

 

 

참고 문서

데이터 사이언스 스쿨 3.4 기술 통계