나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-12-13 16:59:57

NumPy


머신러닝 라이브러리
Accord.NET · Flax · JAX · Keras · MaxText · ML.NET · MLX · NumPy · PyTorch · TensorFlow · XLA
NumPy
넘파이(넘피)
파일:NumPy의 로고.svg
버전 2.3.5
2025년 11월 16일 업데이트
웹사이트 공식 홈페이지
pypi

1. 개요2. 다른 Python 패키지와의 관계3. 라이브러리에 포함된 함수

1. 개요

#!syntax python
import numpy as np

Numarray와 Numeric이라는 오래된 Python 패키지를 계승해서 나온 수학 및 과학 연산을 위한 파이썬 패키지이다. Py는 파이썬을 나타내기 때문에, 일반적으로 넘파이라고 읽는다.

프로그래밍 하기 어려운 C, C++, Fortran[1] 등의 언어에 비하면, NumPy로는 꽤나 편리하게 수치해석을 실행할 수 있다. 게다가 NumPy 내부는 상당부분 C로 작성되어 실행 속도도 꽤 빠른편이다. 기본적으로 ndarray라는 자료를 생성하고 이를 바탕으로 색인, 처리, 연산 등을 하는 기능을 수행한다. 물론 넘파이 자체만으로도 난수생성, 푸리에변환, 행렬연산, 간단한 기술통계 분석 정도는 가능하지만 실제로는 SciPy, Pandas, matplotlib 등 다른 Python 패키지와 함께 쓰이는 경우가 많다.

파이썬으로 수치해석, 통계 관련 기능을 구현한다고 할 때 NumPy는 가장 기본이 되는 모듈이다. 그만큼 NumPy는 수치해석, 통계 관련 작업시 중요한 역할을 하므로, 파이썬으로 관련 분야에 도전하고자 한다면 반드시 이에 대한 기초를 잘 쌓아두고 가자. 그리고 AI 엔지니어링 관점에서 데이터 파이프라인 최적화를 위해 NumPy의 memmap (메모리 맵)을 써서 Lazy 로딩을 구현하는 경우가 많다.

하도 기본적으로 쓰이는 모듈이다 보니 NumPy를 np로 축약해서 호출하는 것이 관례가 되었다.

2. 다른 Python 패키지와의 관계


실제로는 'NumPy + 다른 한 개의 패키지' 조합뿐만 아니라 'NumPy + 여러 개의 패키지' 조합을 쓸 때가 많다. 예컨대 SymPy로 함수의 라플라스 변환을 구하고, NumPy를 이용해서 변환한 함수의 값들에 대한 배열형 자료를 얻고, 이 배열형 자료를 바탕으로 matplotlib을 써서 그래프를 그릴 수 있다.

3. 라이브러리에 포함된 함수

자세한 건 Document를 참고하고 검색창을 통해 검색하면 된다.
[1] 포트란 문서의 속도 논란 문단 참고.