[데이터분석] Numpy배열 - broadcasting

2024. 8. 13. 15:30데이터 사이언스

Broadcasting

  • 다른 형태의 배열도 연산할 수 있도록 배열의 형태를 변환하는 것
  • 가능한 경우 only 3가지
    1. 하나의 배열이 원소 1개로 이루어진 배열인 경우
    2. 하나의 배열이 1차원인 경우
    3. 둘다 1차원인데, 행과 열의 개수가 반대인 경우

1. 하나의 배열이 원소 1개로 이루어진 배열의 경우

arr1 = np.array([[0, 0, 0],[1, 1, 1],[2, 2, 2]])
arr2 = np.arrat([1]) # 하나의 배열이 원소 1개로 이루어진 배열

print(arr1 + arr2)
print(arr1 + 1)

2. 하나의 배열이 1차원인 경우

arr1 = np.array([0, 0, 0], [1, 1, 1],[2, 2, 2]])
arr2 = np.array([1, 2, 3]) # 하나의 배열이 1차원인 경우

print(arr1 + arr2)
print(arr1 + [1, 2, 3])

3. 두 배열 모두 1차원인데, 행과 열의 개수가 반대인 경우

arr1 = np.array([0, 1, 2]).reshape(3, 1)
arr2 = np.array([1, 2, 3])
print(arr1 + arr2)