Numpy broadcasting(브로드 캐스팅)이란

안녕하세요 jay입니다.
오늘은 numpy broadcasting에 대해 알아보도록 하겠습니다.

Broadcasting이란?

Broadcasting이란 사전적인 의미론 퍼뜨리다라는 뜻으로, A라는 행렬과 B라는 연산시, B라는 행렬의 크기가 작다면, B의 행렬의 크기를 늘려주는 것을 의미합니다. Numpy에서 뿐만 아니라 행렬 연산시 통용되는 개념입니다.
예를 들어 (4,3)행렬과 (3,1)행렬을 더하기 연산을 할 때, (3,1)행렬의 크기를 늘려주고 행렬간 연산이 가능하게 하는 것을 의미합니다. 아래의 예제를 보고 이해를 하시면 되겠습니다.


# 브로드캐스팅(broadcasting)
# Broadcasting이란 사전적인 의미론 퍼뜨리다라는 뜻으로, 
# A라는 행렬과 B라는 연산시, B라는 행렬의 크기가 작다면, B의 행렬의 크기를 늘려주는 것을 의미합니다.

arr = np.arange(1,13).reshape(4,3)
print(arr)

"""
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
"""

arr2 = np.arange(3,)
print(arr2) # [0 1 2]

res = arr+arr2
print(res)

"""
[[ 1  3  5]
 [ 4  6  8]
 [ 7  9 11]
 [10 12 14]]
"""

댓글