본문으로 건너뛰기
실습하기

배열 연산과 브로드캐스팅

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 강의를 등록해 주세요!