배열 연산과 브로드캐스팅
NumPy
에서는 반복문을 쓰지 않고도 배열에서 직접 수학 연산을 수행할 수 있습니다.
이는 원소별 연산(element-wise operations)이라고 하며, 빠르고 간결한 수학 연산을 지원합니다.
배열 연산
두 배열의 모양(shape)
이 같으면, NumPy는 원소별로 연산을 적용합니다.
배열 연산
a = np.array([1, 2, 3])
b = np.array([10, 20, 30])
print(a + b) # [11 22 33]
print(a * b) # [10 40 90]
뺄셈, 나눗셈, 거듭제곱도 가능합니다. a - b
, a / b
, a ** 2
형태로 사용할 수 있습니다.
브로드캐스팅
배열의 모양이 서로 다르면, NumPy는 브로드캐스팅(broadcasting)
을 사용해 연산이 가능하도록 맞춰 줍니다.
브로드캐스팅은 더 작은 배열을 확장하여 배열 간 연산을 가능하도록 맞춰줍니다.
브로드캐스팅 예시
a = np.array([1, 2, 3])
b = 10
print(a + b) # [11 12 13]
위 코드에서 NumPy는 a
의 각 원소에 10
을 더합니다.
요약
- 배열에
+
,-
,*
,/
,**
를 바로 사용할 수 있습니다 - 연산은 원소 단위로 적용됩니다
- 브로드캐스팅을 통해 모양이 다른 배열도 함께 연산할 수 있습니다
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!