■ NumPy 개요
- URL : https://numpy.org
- Numerical Python의 약자
- 고성능의 수치 해석용 Python 라이브러리
- NumPy(넘파이)는 데이터 사이언스 분야에 있어서 기초가 되는 라이브러리로써, Pandas, Matplotlib, Scikit-learn, Tensorflow 등 다른 라이브러리들에서 자주 사용된다
- NumPy 그 자체만으로는 높은 수준의 데이터 분석 기능을 제공하지 않지만, Python 상에서 NumPy를 활용해 데이터를 표현하고 다룰 줄 알아야만 좀 더 고차원적인 데이터 분석을 구현할 수 있다.
- NumPy는 고성능 다차원 배열과 이런 배열을 처리하는 다양한 함수와 툴을 제공
- 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공.
⇒ Matrix와 Vector와 같은 Array 연산에 최적화
- 다양한 Matrix를 프로그래밍으로 표현하고 계산을 위해 효율적인 방법이 필요
- Python은 Interpreter 언어이기 때문에 데이터가 커지고, List를 이용하여 Matrix 연산을 할 경우 연산 처리속도가 느리고, 복잡
- 메모리 버퍼에 배열 데이터를 저장하고 처리하는 효율적인 인터페이스를 제공
- 파이썬 list 객체를 개선한 NumPy의 ndarray(N-Dimensional Array) 객체를 사용하면 더 많은 데이터를 더 빠르게 처리할 수 있다.
■ 특징
- Python의 List는 메모리 관리를 레퍼런스로 하므로 기본적으로 느리다.
- 파이썬 List에 비해 빠르고, 메모리 효율적
- 반복문 없이 데이터 배열에 대한 처리를 지원
- 빠른 수치 계산을 위한 Structured Array 제공
- N차원 배열 객체, 선형대수와 관련된 다양한 기능
- 브로드캐스팅(Broadcast) 기능 제공
- 하나의 데이터 type만 배열에 넣을 수 있으며 동적 타이핑 기능 제공하지 않음
■ NumPy의 사용
- Jupyter Notebook을 구동 시킨 후 아래와 같이 import하고 NumPy를 사용할 수 있다.
import numpy as np # NumPy 사용을 위해 module import.
print(np.__version__) # numpy 버전 확인
댓글 영역