본문 바로가기
함수 설명/기본 및 범용

[NumPy] 배열의 백분위수 구하기: np.percentile() 사용 및 설명

by First Adventure 2024. 10. 3.
반응형

소개

  np.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)는 배열 a에서 q 백분위수를 계산하는 함수입니다. 백분위수는 데이터 분포에서 주어진 비율에 해당하는 값을 나타냅니다. 예를 들어, q=50은 중앙값(50번째 백분위수), q=25는 1사분위수(25번째 백분위수) 등을 의미합니다. 이 함수는 데이터 분석, 통계 처리, 그리고 머신러닝에서 자주 사용됩니다.

 

기본 사용법

import numpy as np

# 1차원 배열에서 25%, 50%, 75% 백분위수 계산
array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
percentiles = np.percentile(array, [25, 50, 75])

print("25%, 50%, 75% 백분위수:", percentiles)

상세 설명

  • a: 백분위수를 계산할 배열로, 다차원 배열도 허용됩니다.
    • 예시: np.percentile([1, 2, 3, 4, 5], 50)는 50번째 백분위수인 중앙값 3을 반환합니다.
  • q: 계산할 백분위수 값(0에서 100 사이의 값)입니다. 여러 백분위수를 계산하고 싶다면 리스트 또는 배열로 입력할 수 있습니다.
    • 예시: np.percentile([1, 2, 3, 4, 5], [25, 50, 75])는 1사분위수, 중앙값, 3사분위수를 각각 계산합니다.
  • axis (선택사항): 백분위수를 구할 축을 지정합니다. 기본값은 None으로, 배열을 평탄하게(flatten)하여 계산합니다. axis=0은 열, axis=1은 행을 기준으로 계산합니다.
  • out (선택사항): 결과를 저장할 배열을 지정할 수 있습니다.
  • overwrite_input (선택사항): True로 설정하면 입력 배열을 수정하여 메모리를 절약할 수 있습니다. 기본값은 False입니다.
  • interpolation (선택사항): 중간 값이 정확히 존재하지 않을 때 값을 보간하는 방식을 지정합니다. 옵션에는 linear, lower, higher, nearest, midpoint가 있습니다. 기본값은 linear입니다.
  • keepdims (선택사항): True로 설정하면 축을 따라 계산한 후에도 결과 배열의 차원을 유지합니다. 기본값은 False입니다.
  • 활용
    • 데이터 분석 및 통계: 백분위수는 데이터 분포를 분석하고 특정 비율의 값을 파악하는 데 유용합니다. 예를 들어, 사분위수를 계산해 데이터의 분포를 시각화할 수 있습니다.
    • 머신러닝 및 모델 평가: 모델 예측에서 특정 백분위수를 기준으로 성능을 평가하거나, 특이값을 처리할 때 사용할 수 있습니다.

 

라이센스

  NumPy는 BSD-3-Clause 라이센스를 따릅니다. 자유롭게 사용, 수정, 배포할 수 있으며 상업적 목적으로도 사용할 수 있습니다. 라이센스와 저작권 정보는 NumPy의 공식 GitHub 리포지토리에서 확인할 수 있습니다.

 

관련 내용

  [NumPy] 상관 계수 구하기: np.corrcoef() 사용 및 설명

  [NumPy] 공분산 구하기: np.cov() 사용 및 설명

  [NumPy] 배열의 백분위수 구하기: np.percentile() 사용 및 설명

  [NumPy] 배열의 중앙값 구하기: np.median() 사용 및 설명

반응형