728x90
NumPy를 활용한 통계 계산 mean, median, std, var 등
NumPy는 데이터 분석과 과학 계산에 필수적인 Python 라이브러리로, 특히 대규모 데이터 처리와 배열 기반의 계산에서 강력한 기능을 제공합니다. 오늘은 NumPy의 주요 통계 및 수학 함수인 mean
, median
, std
, var
등을 중심으로 간단한 예제와 함께 알아보겠습니다.
1. NumPy 통계 함수 소개
NumPy는 다양한 통계 함수를 제공합니다. 이 함수들은 데이터의 중심 경향성과 변동성을 분석하는 데 유용합니다.
주요 함수 설명
mean
: 데이터의 평균값을 계산합니다.median
: 데이터의 중앙값을 계산합니다.std
: 데이터의 표준 편차를 계산합니다.var
: 데이터의 분산을 계산합니다.
각 함수는 다차원 배열에 대해 축(axis)을 지정하여 연산을 수행할 수 있어, 데이터 분석에서 매우 유용합니다.
2. 주요 함수 예제
2.1 평균값 계산: mean
평균값은 데이터의 중심 경향성을 나타내는 가장 기본적인 척도입니다.
import numpy as np
# 데이터 배열 생성
data = np.array([1, 2, 3, 4, 5])
# 평균값 계산
mean_value = np.mean(data)
print(f"Mean: {mean_value}")
출력:
Mean: 3.0
mean
함수는 다차원 배열에도 적용 가능합니다.
# 2차원 배열에서 축별 평균값 계산
data_2d = np.array([[1, 2, 3], [4, 5, 6]])
# 전체 평균
mean_all = np.mean(data_2d)
# 행(row) 기준 평균
mean_row = np.mean(data_2d, axis=1)
# 열(column) 기준 평균
mean_col = np.mean(data_2d, axis=0)
print(f"전체 평균: {mean_all}")
print(f"행 기준 평균: {mean_row}")
print(f"열 기준 평균: {mean_col}")
출력:
전체 평균: 3.5
행 기준 평균: [2. 5.]
열 기준 평균: [2.5 3.5 4.5]
2.2 중앙값 계산: median
중앙값은 데이터를 정렬했을 때 중앙에 위치한 값으로, 이상치(outlier)에 강건한 척도입니다.
# 중앙값 계산
data = np.array([1, 2, 3, 4, 5])
median_value = np.median(data)
print(f"Median: {median_value}")
출력:
Median: 3.0
짝수 개의 데이터에 대한 중앙값은 중앙에 위치한 두 값의 평균으로 계산됩니다.
# 짝수 개 데이터의 중앙값 계산
data_even = np.array([1, 2, 3, 4])
median_value_even = np.median(data_even)
print(f"Median (even): {median_value_even}")
출력:
Median (even): 2.5
2.3 표준 편차 계산: std
표준 편차는 데이터 값들이 평균에서 얼마나 흩어져 있는지를 나타냅니다.
# 표준 편차 계산
data = np.array([1, 2, 3, 4, 5])
std_value = np.std(data)
print(f"Standard Deviation: {std_value}")
출력:
Standard Deviation: 1.4142135623730951
2.4 분산 계산: var
분산은 표준 편차의 제곱으로, 데이터의 흩어진 정도를 측정합니다.
# 분산 계산
data = np.array([1, 2, 3, 4, 5])
var_value = np.var(data)
print(f"Variance: {var_value}")
출력:
Variance: 2.0
3. 실전 예제: 다차원 데이터 분석
다차원 배열에서 통계 계산은 데이터를 특정 축(axis)에 따라 요약하는 데 유용합니다.
# 3x3 행렬 생성
data_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 행 기준 통계 계산
mean_row = np.mean(data_2d, axis=1)
std_row = np.std(data_2d, axis=1)
# 열 기준 통계 계산
mean_col = np.mean(data_2d, axis=0)
std_col = np.std(data_2d, axis=0)
print(f"행 기준 평균: {mean_row}")
print(f"행 기준 표준 편차: {std_row}")
print(f"열 기준 평균: {mean_col}")
print(f"열 기준 표준 편차: {std_col}")
출력:
행 기준 평균: [2. 5. 8.]
행 기준 표준 편차: [0.81649658 0.81649658 0.81649658]
열 기준 평균: [4. 5. 6.]
열 기준 표준 편차: [2.44948974 2.44948974 2.44948974]
4. 요약
- NumPy의 통계 함수는 데이터 분석에서 필수적입니다.
mean
,median
,std
,var
등은 데이터의 중심 경향성과 변동성을 분석하는 데 유용합니다.- 축(axis)을 활용하면 다차원 데이터에서도 효율적으로 통계 연산을 수행할 수 있습니다.
실제 데이터 분석에서 이 함수들을 적절히 활용하면 데이터의 특성을 파악하고, 효과적으로 문제를 해결할 수 있습니다. NumPy의 강력한 통계 도구를 통해 데이터 분석에 한 단계 더 나아가 보세요!
참고 자료
728x90
'Python NumPy' 카테고리의 다른 글
NumPy 누적 함수 cumsum과 cumprod (0) | 2025.02.01 |
---|---|
NumPy를 활용한 수학적 함수 적용 (0) | 2025.01.31 |
NumPy 배열의 반복 및 타일링 (tile, repeat) (0) | 2025.01.29 |
NumPy 배열의 연결과 분리 (concatenate, split) (0) | 2025.01.28 |
NumPy 배열의 형태 변경 [ reshape, ravel, flatten ] (0) | 2025.01.27 |