더북(TheBook)

UNIT 24
브로드캐스팅

DATA SCIENCE FOR EVERYONE icon_day

 

차원만 같다면 numpy 배열은 다른 배열과 벡터화된 사칙 연산이 가능하다. numpy를 사용하지 않고 두 배열을 각 요소끼리 더하려면 for 루프나 리스트 내포를 사용해야만 한다. numpy에서는 그냥 더하기만 하면 된다.


a = np.arange(4)

b = np.arange(1, 5)

a+b

>>>

array([1, 3, 5, 7])


배열에서 벡터 연산을 브로드캐스팅이라고 한다. 2차원 브로드캐스팅은 두 배열의 모양이 같거나 둘 중 하나가 스칼라 값(다음 예제처럼)이면 가능하다.


a*5

>>>

array([0, 5, 10, 15])

 

icon_wait

 

더 많게 vs. 더 크게

별 연산자(*)는 파이썬과 numpy에서 다르게 작용한다. 파이썬의 기본 표현식에서 seq * 5는 리스트 seq를 다섯 번 복제한다. 같은 numpy 표현식은 seq 배열의 모든 엘리먼트에 5를 곱한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.