본문 바로가기

Numpy

(12)
Numpy - searchsorted https://numpy.org/doc/stable/reference/generated/numpy.searchsorted.html#numpy.searchsorted numpy.searchsorted — NumPy v1.19 Manual If ‘left’, the index of the first suitable location found is given. If ‘right’, return the last such index. If there is no suitable index, return either 0 or N (where N is the length of a). numpy.org numpy.searchsorted(a, v, side='left', sorter=None) a = 1차원 배열, 오름차..
Numpy - 브로드캐스팅 Numpy의 브로드캐스팅 전에 행렬의 곱을 알아야한다. 기존에 배웠던 행렬의 곱은 이러한 원칙이 지켜져야만 한다. Numpy의 브로드캐스팅은 이러한 원리와 비슷하다. 곱이 아닌 합으로 본다면 이렇게 볼 수 있다. [브로드캐스팅 규칙] [Rule] 2차원과 1차원의 연산 1. 이어지는 각 차원에 대해 축의 길이가 일치 2. 둘 중 하나의 길이가 1 1번 혹은 2번의 경우에는 두 배열은 브로드캐스팅 호환이다. 브로드캐스팅은 누락된 혹은 길이가 1인 차원에 대해 수행된다. https://numpy.org/doc/stable/user/theory.broadcasting.html#array-broadcasting-in-numpy Array Broadcasting in Numpy — NumPy v1.18 Manua..
Numpy - 3차원 axis 이해하기 3차원 텐서를 이용하기 위해 데이터를 불러온다. z는 (4행, 3열)의 2차원 데이터가 3개가 있다는 뜻이다. 위 텐서의 shape은 (3, 4, 3)으로서 (차원, 행, 열)로 보면 쉽다. axis는 따라서 0, 1, 2의 값을 가진다. 차원=0 / 행=1 / 열=2 축을 이용하기 위해 np.sum()으로 살펴보겠다. axis = 0 axis = 0은 차원을 따라서 압축하는 것이다. 36의 값은 0 + 12 + 24의 결과값이 된다. 또한 기존 (3, 4, 3)의 shape에서 0번째 축을 따라서 압축했으므로 남는 것은 (4, 3)의 2차원 행렬이 된다. axis=1 axis=1 은 행을 따라서 압축하는 것이다. 18은 0 + 3 + 6 + 9의 합으로 나온 결과값이다. 또한 기존 (3, 4, 3)의 ..
Numpy - 2차원 axis 이해하기 axis란 축을 의미한다. axis의 값은 0, 1, 2... 이렇게 가지는데 그 축을 '따라서' 연산이된다. '따라서' = 그 방향으로 압축한다. 라고 이해해도 좋다. [2차원의 행렬데이터] 2차원의 행렬데이터는 (행, 열)의 모양인데 따라서 axis는 행 or 열로 줄 수 있다. 행은 0이며 열은 1이다. [행 방향, 열 방향] 행이 늘어나는 방향이 위에서 아래 = 행 방향 열이 늘어나는 방향이 좌에서 우 = 열 방향 예시를 들어 살펴보자 y는 (3행 5열)의 2차원 데이터이다. 이를 axis별로 더해보자 ** 기본적으로 더하게 되면 차원이 하나 줄게 된다. axis=0 (행=0, 열=1) 즉, 행 방향 Numpy의 sum함수를 이용했으며 행 방향으로 더한 것이다. 예를 들어 15는 0 + 5 + 1..