넘파이 배열의 연산

30 P
QUESTION 01 #301
생성된 넘파이 배열의 모든 요소에 일괄적으로 10을 더하는 연산을 수행하고자 합니다. 빈칸을 채우세요.
main.py
import numpy as np

lst = [1, 2, 3, 4, 5]
arr = np.array(lst)

# 모든 요소에 한꺼번에 10을 더합니다.
result =  + 10

print(result)

# 첫 번째 요소(인덱스 0)와 세 번째 요소(인덱스 2) 출력
print(result[0])
print(result[2])
실행 결과 예시
[11 12 13 14 15]
11
13
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

넘파이(NumPy)란?

NumPy"Numerical Python"의 약자로, 파이썬에서 수치 계산을 쉽고 빠르게 하는 핵심 라이브러리입니다.

넘파이가 왜 필요한가요?

비교 항목 파이썬 리스트 넘파이 배열(ndarray)
연산 방식 반복문 필요 한 줄로 일괄 처리
처리 속도 느림 매우 빠름 (C언어 기반)
메모리 효율 낮음 높음

벡터화 연산 (Vectorized Operation)

넘파이의 가장 큰 장점은 벡터화 연산입니다. 반복문 없이 배열 전체에 연산을 적용할 수 있습니다.

# 파이썬 리스트 방식 (느림)
lst = [1, 2, 3, 4, 5]
result = []
for x in lst:
    result.append(x + 10)

# 넘파이 방식 (빠르고 간결)
arr = np.array([1, 2, 3, 4, 5])
result = arr + 10  # [11 12 13 14 15]

코드 분석

  • np.array(lst) : 리스트를 넘파이 배열(ndarray)로 변환
  • arr + 10 : 배열의 모든 요소에 10을 더함 (브로드캐스팅)
  • result[0] : 인덱스 0번 요소에 접근 (리스트와 동일한 방식)

브로드캐스팅(Broadcasting)

arr + 10에서 숫자 10이 배열의 크기에 맞게 자동 확장되어 연산됩니다. 이것을 브로드캐스팅이라고 합니다.

arr  : [1,  2,  3,  4,  5]
+ 10 : [10, 10, 10, 10, 10]  ← 자동 확장
결과 : [11, 12, 13, 14, 15]