NumPy란 무엇인가?
데이터 분석, 과학 계산, 머신러닝 등 다양한 분야에서 Python은 강력한 도구로 자리 잡았습니다. 그중에서도 NumPy는 고성능 수치 계산을 지원하는 핵심 라이브러리로, 효율적이고 강력한 배열 연산을 제공합니다. 이번 포스팅에서는 NumPy의 개념, 설치 방법, 그리고 기본 사용법을 예제와 함께 소개합니다.
NumPy란?
NumPy(넘파이)는 Numerical Python의 약자로, 대규모 다차원 배열과 행렬 연산을 위한 강력한 도구를 제공합니다. Python의 리스트보다 빠르고 메모리 효율적인 연산을 가능하게 하며, 벡터화 연산(Vectorized Operations)을 통해 반복문을 줄이고 코드의 가독성과 성능을 동시에 향상시킬 수 있습니다.
NumPy는 다음과 같은 기능을 제공합니다:
- 다차원 배열 객체(ndarray)
- 다양한 수학 함수 및 연산(선형 대수, 푸리에 변환 등)
- 빠르고 효율적인 배열 연산을 위한 최적화
- 다른 Python 라이브러리(Pandas, TensorFlow 등)와의 통합
NumPy 설치 방법
NumPy는 Python 패키지 관리자(Pip)를 통해 간단히 설치할 수 있습니다. 아래 명령어를 통해 설치를 진행하세요:
pip install numpy
설치 확인
설치가 완료된 후, 다음 명령어를 실행하여 설치가 제대로 되었는지 확인할 수 있습니다:
import numpy as np
print(np.__version__)
위 코드가 오류 없이 실행되고 버전 정보가 출력된다면 설치가 성공적으로 완료된 것입니다.
NumPy 기본 사용법
NumPy를 활용하여 배열을 생성하고 연산을 수행하는 기본적인 방법을 알아봅시다.
배열 생성하기
NumPy 배열은 numpy.array()
를 통해 생성할 수 있습니다. 예제를 통해 확인해보겠습니다:
import numpy as np
# 리스트를 사용해 배열 생성
list_data = [1, 2, 3, 4]
array = np.array(list_data)
print("NumPy 배열:", array)
print("배열의 데이터 타입:", array.dtype)
출력:
NumPy 배열: [1 2 3 4]
배열의 데이터 타입: int64
다차원 배열 생성
NumPy는 다차원 배열도 쉽게 생성할 수 있습니다:
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print("2차원 배열:")
print(matrix)
출력:
2차원 배열:
[[1 2 3]
[4 5 6]]
배열 속성 확인
NumPy 배열은 다양한 속성을 통해 배열의 정보를 제공합니다:
print("배열의 크기(shape):", matrix.shape)
print("배열의 차원 수(ndim):", matrix.ndim)
print("배열의 전체 요소 수(size):", matrix.size)
출력:
배열의 크기(shape): (2, 3)
배열의 차원 수(ndim): 2
배열의 전체 요소 수(size): 6
기본 연산
NumPy 배열은 벡터화 연산을 지원하여 반복문 없이도 빠르게 계산할 수 있습니다. 예제를 통해 기본 연산을 살펴봅시다:
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# 요소별 덧셈
print("덧셈:", array1 + array2)
# 요소별 곱셈
print("곱셈:", array1 * array2)
# 스칼라 곱
print("스칼라 곱:", array1 * 3)
출력:
덧셈: [5 7 9]
곱셈: [ 4 10 18]
스칼라 곱: [3 6 9]
배열 슬라이싱 및 인덱싱
Python의 리스트처럼, NumPy 배열도 슬라이싱과 인덱싱을 지원합니다:
array = np.array([10, 20, 30, 40, 50])
# 특정 요소 접근
print("첫 번째 요소:", array[0])
# 슬라이싱
print("2~4번째 요소:", array[1:4])
# 조건 필터링
print("30보다 큰 요소:", array[array > 30])
출력:
첫 번째 요소: 10
2~4번째 요소: [20 30 40]
30보다 큰 요소: [40 50]
유용한 함수들
NumPy는 다양한 수학 함수를 제공합니다. 대표적인 예제는 다음과 같습니다:
# 배열 생성
array = np.array([1, 2, 3, 4, 5])
# 합계와 평균
print("합계:", np.sum(array))
print("평균:", np.mean(array))
# 최대값과 최소값
print("최대값:", np.max(array))
print("최소값:", np.min(array))
# 표준편차
print("표준편차:", np.std(array))
출력:
합계: 15
평균: 3.0
최대값: 5
최소값: 1
표준편차: 1.4142135623730951
마치며
이번 포스팅에서는 NumPy의 개념과 설치 방법, 그리고 기본 사용법을 예제와 함께 알아보았습니다. NumPy는 데이터 분석과 과학 계산의 필수 도구로, 그 강력한 기능을 활용하면 더욱 효율적인 Python 코드를 작성할 수 있습니다.
관련 링크
'Python > NumPy' 카테고리의 다른 글
NumPy 배열의 인덱싱 이해하기 (0) | 2025.09.28 |
---|---|
NumPy 배열의 데이터 타입 이해하기 (0) | 2025.09.27 |
NumPy 배열의 속성 확인하기 (0) | 2025.09.26 |
NumPy 배열 생성 방법 (0) | 2025.09.25 |
NumPy가 제공하는 주요 기능 소개 (0) | 2025.09.24 |