numpy 브로드캐스팅

파이썬・ML/numpy

넘파이 브로드캐스팅(broadcasting) 이해하기

직전 포스팅에서 넘파이 배열의 원소별 연산(Element-wise operation)에 대해 알아봤습니다. 이번에는 그 연속선 상에서 브로드캐스팅에 개념에 대해 알아보도록 하겠습니다. import numpy as np 브로드캐스팅? 브로드캐스팅 덕분에 서로 다른 형태(shape)의 배열을 연산할 수 있습니다. 연산이 가능한 이유는 서로 다른 shape을 동일한 형태로 일치시키기 때문입니다. 이처럼 브로드캐스팅은 배열 연산의 편리성을 높여주지만 의도하지 않은 버그를 유발할 수 있습니다. 따라서 브로드캐스팅의 발생 조건에 대해 확실하게 알고 있어야 합니다. 브로드캐스팅이 발생하는 조건은 총 2가지가 존재합니다. 배열의 차원(ndim)이 같거나 다른 경우인데 우선 전자부터 살펴보겠습니다. - 차원이 같은 경우..

파이썬・ML/numpy

넘파이 배열의 원소별 연산 이해하기(Element-wise operation)

이번 포스팅에서는 넘파이 배열의 연산 방식에 대해 알아보도록 하겠습니다. Element-wise 연산? arr1 = np.random.randint(-5, 5, (5, )) print(arr1) # [ 1 -1 -3 3 2] arr2 = np.random.randint(-5, 5, (5, )) print(arr2) # [ 3 4 -5 4 -3] print(arr1 + arr2) # [ 4 3 -8 7 -1] 기본적으로 넘파이 배열은 모두 원소별 연산을 수행합니다. 원소별로 연산한다는 것의 의미는 각 배열의 동일한 인덱스에 위치한 값들끼리 계산한다는 말입니다. 단, 연산하는 배열들의 shape은 동일해야 합니다. M = np.random.randint(1, 5, (2, 3)) print(M) # [[2 4..

truezero
'numpy 브로드캐스팅' 태그의 글 목록