240627 TIL #436 Numpy - 2

김춘복·2024년 6월 26일
0

TIL : Today I Learned

목록 보기
436/571

Today I Learned

오늘은 numpy 이어서!


Numpy

Creation Function

array 를 생성하는 함수들

  • .arange(시작, 끝, step) : array의 범위를 지정해서 list를 생성하는 함수
    list의 range와 활용이 거의 같다

  • .zeros(shape, dtype, order) : 0으로 가득찬 ndarray 생성
    .ones(shape, dtype, order) : 1로 가득찬 ndarray 생성

  • .empty(shape, dtype) : shpae만 있고 비어있는 ndarray 생성
    빈 공간을 잡아만 두고 메모리 초기화는 하지 않는다.

  • .zeros_like(array) : 해당 array와 똑같은 shape의 0으로 가득찬 array를 반환한다.
    zeros 대신에 ones도 사용이 가능하다.

  • .identity(n, dtype) : 단위행렬(identity matrix)를 생성한다. n은 행의 크기.

  • .eye(n, m, k, dtype): 대각선이 1인 n X m 행렬. k로 시작 index를 바꿀 수 있다.

  • .diag(matrix, k) : 대각 행렬의 값만 추출해준다. k로 시작 index를 바꿀 수 있다.

random sampling

데이터 분포에 따른 sampling으로 array 생성

  • np.random.uniform(low, high, size) : 균등분포. 시작, 끝, 크기

  • np.random.normal(loc, scale, size) : 정규분포. 평균, 표준편차, 크기


Operation Functions

기능을 제공하는 함수들

  • sum(axis, dtype) : ndarray의 요소들의 합
  • mean() : ndarray의 요소들의 평균
  • std() : ndarray의 요소들의 표준편차
  • 그외에도 exp, log, power, sqrt, sin, cos, tan, tanh 등을 제공한다.

axis

모든 Operation Functions를 실행할때 기준이 되는 dimmension의 축!

  • axis=0은 열 기준, 1은 행 기준으로 삼는다.

concatenate

ndarray를 붙이는 함수
axis를 기준으로 array끼리 합친다.


Array Operations

array끼리 연산

  • numpy는 기본적인 array간의 사칙연산을 지원한다.
    +, -, *, /의 사칙연산 기호를 이용하면 같은 위치에 있는 원소들끼리 계산한다.
    단, array끼리는 shape이 같아야 한다!

  • Dot Product 행렬의 내적은 .dot()을 사용한다.

  • transpose 혹은 T : 전치행렬. 행과 열을 바꾼다.

broadcasting

shape이 다른 배열간 연산을 지원하는 기능

  • 두 배열의 각 차원에서 크기가 동일하거나, 한 쪽의 차원의 크기가 1인 경우만 가능하다.

  • scalar-vector 외에도 vector-matrix 간의 연산도 지원한다.
    낮은 차원의 것을 자동으로 차원을 늘려서 계산해준다.


Comparisons

  • < 기호를 사용하면 모든 elements에 대해서 비교를 해서 t,f로 반환한다.

  • any(조건)를 쓰면 하나라도 조건에 만족하면 true.
    all(조건)을 쓰면 모두 조건에 만족하면 true.

  • numpy는 array의 shape가 동일할 때 element간의 비교 결과를 boolean으로 반환한다.

  • np.logical_and(a>0, a<3)
    np.logical_not(b)
    np.logical_or(a>0, a<3)
    처럼 logical을 써서 && || ! 비교연산을 할 수 있다.

  • argmax(array, axis), argmin(array, axis)
    array에서 최대, 최소값의 index 반환
    axis에 한정시켜서 해당 axis에서 최대, 최소값 반환도 가능하다.

where

  • np.where(조건, true일때 들어가는 값, false일때 들어가는 값)

  • np.where(조건) : 조건에 true인 index만 반환한다.

  • isnan(array) : none값(할당된게 없으면)이면 true

  • isfinite(array) : 한정된 값, 수렴하는 값이면 true. 발산, 무한하는 값이면 false.

boolean index

index에 조건을 넣으면 해당 조건에 만족하는 index의 element만 추출이 가능하다.

fancy index

array를 index value로 사용해서 값 추출이 가능하다.


profile
Backend Dev / Data Engineer

0개의 댓글