[Numpy] 자주 쓰는 함수

·2025년 1월 6일

기본 통계 함수

샘플:

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])

mean()

  • 데이터의 평균 계산
a.mean()
np.mean(a)
# 3.5

median()

  • 데이터의 중앙값 계산
np.median(a)
# 3.5

std()

  • 데이터의 표준편차 계산
a.std()
np.std(a)
# 1.707825127659933

var()

  • 데이터의 분산 계산
a.var()
np.var(a)
# 2.9166666666666665

sum()

  • 데이터의 합계 계산
a.sum()
np.sum(a)
# 21

prod()

  • 데이터의 곱 계산
np.prod(a)
a.prod()
# 720

퍼센타일 및 백분위 함수

샘플:

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

percentile()

  • 데이터의 특정 퍼센타일 값 계산
  • 오름차순으로 작은 값이 0, 큰 값이 100
np.percentile(a, 10) # 10%
# 1.9

quantile()

  • 데이터의 특정 분위 값 계산
  • percentile과 유사하지만 1이 100% 의미.
np.quantile(a, 0.1) # 10%
# 1.9

최대/최소 관련 함수

샘플:

import numpy as np

a = np.array([9, 3, 6, 10, 2, 1, 5, 4, 7])

min()

  • 데이터의 최소값 반환
a.min()
np.min(a)
# 1

max()

  • 데이터의 최대값 반환
a.max()
np.max(a)
# 10

argmin()

  • 최소값의 인덱스 반환
a.argmin()
np.argmin(a)
# 5

argmax()

  • 최대값의 인덱스 반환
a.argmax()
np.argmax(a)
# 3

데이터 생성 및 처리 함수

샘플:

import numpy as np

a = np.array([1, 2, 3, 5, 4, 1, 2, 4, 3, 5, 4, 3, 2, 1, 5, 2, 1, 2, 3, 4, 1, 2, 1, 2, 3, 4, 5, 1, 2])

histogram()

  • 데이터의 히스토그램 계산
  • 도수, 구분 = np.histogram(data, 도수분포구간 (bin))
np.histogram(a)
# (array([7, 8, 5, 5, 4]), array([1. , 1.8, 2.6, 3.4, 4.2, 5. ]))

unique()

  • 데이터에서 고유값 반환
np.unique(a)
# array([1, 2, 3, 4, 5])

bincount()

  • 정수 배열의 값의 빈도 계산
np.bincount(a)
# array([0, 7, 8, 5, 5, 4])

랜덤 데이터 생성

random.randn(n)

  • 표준 정규분포를 따르는 랜덤 값 생성
  • 표준정규분포: 모평균 = 0과 표준편차 = 1인 정규분포를 표준화
np.random.randn()
# 0.4125148319817233

np.random.randn(10)
# array([ 0.1474397 , -0.73019763, -0.56776599,  1.32150811,  0.28338785,
        0.33151505,  0.73110325, -2.04595323,  1.78572571, -0.62878016])

random.normal(모평균, 표준편차, 개수)

  • 정규분포를 따르는 랜덤 값 생성
np.random.normal()
# -0.37041109576560466

np.random.normal(0, 1, 5)
# array([ 0.87458122,  0.70693113, -2.37069148, -1.07551244,  1.77340854])

random.randint(low, high, 개수)

  • 정수 범위에서 랜덤 정수 생성
  • [low, high) 범위에서 입력된 개수만큼 반환
np.random.randint(0, 10, 3)
# array([9, 3, 4])

random.choice(data, 개수)

  • 데이터에서 랜덤 샘플 추출
a = np.array([1, 3, 5, 2, 4, 7, 6, 9, 11])

np.random.choice(a)
# 7

np.random.choice(a, 3)
# array([4, 1, 7])

참고자료

profile
To Dare is To Do

0개의 댓글