[python] NumPy의 브로드캐스팅 기능에 대해 설명해주세요.

NumPy는 파이썬에서 수치계산을 위한 핵심 라이브러리입니다. 그 중에서도 브로드캐스팅은 NumPy의 강력한 기능 중 하나입니다. 브로드캐스팅은 다른 차원의 배열 간에도 자동으로 연산을 수행할 수 있게 해주는 기능입니다.

브로드캐스팅은 배열 간의 크기가 일치하지 않을 때 발생하는 문제를 자동으로 처리합니다. 예를 들어, 크기가 (3, 3)인 배열과 스칼라 값을 더하고자 할 때, 브로드캐스팅을 통해 스칼라 값을 (3, 3)로 확장하여 계산이 가능해집니다.

이를 코드로 표현하면 다음과 같습니다.

import numpy as np
 
# 크기가 (3, 3)인 배열 생성
arr1 = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])
 
# 스칼라 값 2 더하기
result = arr1 + 2
 
print(result)

위 코드에서는 arr1 배열에 스칼라 값 2를 더해주고 있습니다. 이때 브로드캐스팅이 발생하여 arr1 배열의 모든 요소에 스칼라 값 2가 더해진 결과가 출력됩니다.

브로드캐스팅 기능은 다양한 형태로 사용할 수 있으며, 배열 간의 연산을 훨씬 효율적으로 처리할 수 있게 해줍니다. 따라서 데이터 과학이나 머신 러닝 등의 분야에서 NumPy의 브로드캐스팅은 매우 유용하게 활용됩니다.

더 자세한 내용은 NumPy 공식 문서를 참고하시면 도움이 될 것입니다.