초보자를 위한 NumPy 배열: Python 리스트에 대한 더 나은 대안
Source: Dev.to
소개
NumPy는 매우 인기 있는 파이썬 패키지입니다. 그 중 가장 큰 장점 중 하나는 NumPy 배열(공식 명칭은 ndarray)입니다. 이를 표준 파이썬 리스트보다 더 깔끔하고 훨씬 빠른 버전이라고 생각하면 됩니다.
NumPy 배열은 파이썬 리스트와 비슷해 보이지만, 중요한 이점이 있습니다: 전체 배열에 대해 한 번에 수학 연산을 수행할 수 있다는 점입니다. 이러한 연산은 작성하기 쉽고 매우 효율적으로 실행됩니다.
예시
# Regular Python lists
heights = [2.40, 3.21, 1.34, 3.45]
weights = [45.0, 68.3, 34.1, 82.0]
# Attempting element‑wise math with lists raises an error
bmi = weights / (heights ** 2)
오류
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
파이썬 리스트는 요소별 수학 연산을 지원하지 않습니다. 일반 리스트만으로 같은 결과를 얻으려면 각 요소를 개별적으로 반복해야 하는데, 이는 데이터 양이 많을 경우 느리고 비효율적입니다.
NumPy를 사용하면 리스트를 NumPy 배열로 변환하여 이러한 계산을 효율적으로 수행할 수 있습니다:
import numpy as np
np_height = np.array(heights)
np_weight = np.array(weights)
bmi = np_weight / np_height ** 2
bmi
코드는 정상적으로 실행되며 각 대응되는 쌍에 대한 BMI 값을 포함하는 새로운 배열을 반환합니다:
array([ 7.8125 , 6.62842946, 18.99086656, 6.88930897])
중요한 참고사항
np.array([1.0, 'is', True])
출력
array(['1.0', 'is', 'True'], dtype='<U32')
요약하면, NumPy를 사용하면 전체 배열에 한 번에 수학 연산을 적용할 수 있어 계산이 빠르고 효율적입니다.