오늘은 numpy 이어서!
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를 바꿀 수 있다.
데이터 분포에 따른 sampling으로 array 생성
np.random.uniform(low, high, size) : 균등분포. 시작, 끝, 크기
np.random.normal(loc, scale, size) : 정규분포. 평균, 표준편차, 크기
기능을 제공하는 함수들
모든 Operation Functions를 실행할때 기준이 되는 dimmension의 축!
ndarray를 붙이는 함수
axis를 기준으로 array끼리 합친다.
array끼리 연산
Dot Product
행렬의 내적은 .dot()을 사용한다.
transpose 혹은 T : 전치행렬. 행과 열을 바꾼다.
shape이 다른 배열간 연산을 지원하는 기능
두 배열의 각 차원에서 크기가 동일하거나, 한 쪽의 차원의 크기가 1인 경우만 가능하다.
scalar-vector 외에도 vector-matrix 간의 연산도 지원한다.
낮은 차원의 것을 자동으로 차원을 늘려서 계산해준다.
<
기호를 사용하면 모든 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에서 최대, 최소값 반환도 가능하다.
np.where(조건, true일때 들어가는 값, false일때 들어가는 값)
np.where(조건) : 조건에 true인 index만 반환한다.
isnan(array) : none값(할당된게 없으면)이면 true
isfinite(array) : 한정된 값, 수렴하는 값이면 true. 발산, 무한하는 값이면 false.
index에 조건을 넣으면 해당 조건에 만족하는 index의 element만 추출이 가능하다.
array를 index value로 사용해서 값 추출이 가능하다.