이 글에서는 Python의 NumPy 라이브러리에 포함된 sum() 함수를 사용하여 행렬(matrix)의 모든 요소를 더하는 방법을 알아보겠습니다. 먼저 무작위(random) 값으로 이루어진 행렬을 생성한 뒤, 해당 행렬의 전체 합계를 구하는 과정을 단계별로 살펴봅니다.
알고리즘
1단계: NumPy 라이브러리를 임포트(import)합니다.
2단계: random() 함수를 사용하여 m×n 크기의 무작위 행렬을 생성합니다.
3단계: sum() 함수를 사용하여 행렬 내 모든 요소의 합을 구합니다.
예제 코드
아래 코드는 3×3 크기의 무작위 행렬을 만들고, np.sum() 함수로 모든 요소의 합계를 출력합니다.
import numpy as np
matrix = np.random.rand(3,3)
print("The numpy matrix is: \n",matrix)
print("\nThe sum of the matrix is: ", np.sum(matrix))실행 결과
The numpy matrix is: [[0.66411969 0.43672579 0.48448593] [0.76110384 0.35869136 0.51509622] [0.22408857 0.17984855 0.33566272]] The sum of the matrix is: 3.9598226605128524
코드 설명 및 참고 사항
np.random.rand(3,3)은 0과 1 사이의 균등 분포를 따르는 실수 난수로 채워진 3행 3열의 배열을 생성합니다. 실행할 때마다 난수가 달라지므로 결과값도 매번 다르게 나타납니다.
np.sum(matrix)는 기본적으로 배열의 모든 축(axis)에 걸쳐 요소를 더한 스칼라 값을 반환합니다. 만약 행 또는 열 단위로 합계를 구하고 싶다면 axis 인자를 활용할 수 있습니다.
np.sum(matrix, axis=0): 각 열(column)별 합계를 반환합니다.np.sum(matrix, axis=1): 각 행(row)별 합계를 반환합니다.
이처럼 NumPy의 sum() 함수는 별도의 반복문 없이 벡터화 연산으로 빠르게 전체 합계를 계산할 수 있어, 대규모 데이터 처리 시에도 효율적입니다.