NumPy는 「수치 계산의 기반」이지만 동시에 「방대한 통계·집계 함수」의 보고이기도 합니다.
pandas도 내부적으로 NumPy를 호출하므로, 통계 함수의 기본을 알면 데이터 분석 전반이 빨라집니다.
기본 통계.
arr = np.array([1, 2, 3, 4, 5]).
arr.mean() — 평균.
arr.median() — 중앙값(np.median(arr) 형태).
arr.std() — 표준편차.
arr.var() — 분산.
arr.min(), arr.max(), arr.sum().
축(axis) 인자.
2차원 이상에서 핵심.
arr2d.sum(axis=0) — 열별 합(세로 방향), axis=1 — 행별 합(가로 방향).
axis 안 주면 전체 단일 값.
「어느 방향으로 합칠 것인가」를 명확히.
고급 통계.
np.percentile(arr, 90) — 90 백분위수.
np.quantile(arr, 0.5) — 분위수(0.5 = 중앙값).
np.corrcoef(x, y) — 상관계수.
np.cov(x, y) — 공분산.
머신러닝 전 데이터 점검에 자주 사용.
결측치 무시.
일반 함수는 NaN이 있으면 결과가 NaN — 「데이터 망가짐」 신호.
np.nanmean·nanmedian·nansum — NaN 무시하고 계산.
불완전한 데이터에서 「의미 있는 통계」를 내는 데 필수.
한 줄 요약
NumPy의 통계 함수는 mean·median·std·percentile 등 풍부.
axis 인자로 방향 지정, NaN 처리는 nan*** 함수.
pandas도 내부적으로 NumPy 호출하므로 기본 알면 분석 빠름.
더 알아볼 것
- np.histogram — 분포 만들기
- scipy.stats — 더 풍부한 통계
- 결측치 처리 — pandas dropna/fillna