728x90

Numpy란?


Numerical Python의 준말인 넘파이$^{Numpy}$는 파이썬에서 산술 연산, 수치해석과 같은 수학 및 과학 연산을 위한 파이썬 패키지이다. 다차원 배열을 쉽고 효율적으로 처리하며 Pandas와 연동하여 자주 사용한다. 핵심 기능은 ndarray라고 하는 N차원의 객체 배열이다. 

왜 사용하는가?

파이썬의 기본 라이브러리보다 매우 매우 빠르고 효율적이다

배열 내부의 원소의 값들을 브로드캐스팅할 때, 파이썬은 반복문을 사용하지만, 넘파이는 한 번에 가능하기에 빠르다.

 

Numpy 설치


$ pip install numpy

 

ndarray,  다차원 배열 객체 생성


가장 기본적으로 생성하는 방법

>>> import numpy as np
>>> data =np.array([[1.5, -0.1, 3], [0, -3, 6.5]])
>>> data
array([[ 1.5, -0.1,  3. ],
       [ 0. , -3. ,  6.5]])
       
>>> tmp = [1,2,3,4]
>>> data = np.array(tmp)
>>> data
array([1, 2, 3, 4])

 

 

np.array( 리스트, 튜플, 배열 또는 순차형 데이터)

위의 예시와 동일합니다.

 

np.arange(범위)

arrange는 파이썬의 range 함수의 배열 버전

>>> np.arange(15)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

 

np.ones(배열의 크기)

배열의 원소가 1로 이루어진 배열의 크기를 반환

>>> np.ones((2,4))
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.]])

 

np.zeros(배열의 크기)

배열의 원소가 1으로 이루어진 배열의 크기를 반환

>>> np.zeros((5,3))
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])

 

np.full(배열의 크기, Value)

배열의 원소가 Value로 이루어진 배열의 크기를 반환

>>> np.full((2,2), 44)
array([[44, 44],
       [44, 44]])

 

np.eye(N)

N x N 배열로 이루어졌으며 대각선 원소의 값이 1인 배열을 반환

>>> np.eye(5)
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])

 

ndarray 차원과 모양


ndim과 shape

배열의 차원의 수와 모양을 확인하는 속성

>>> data = np.zeros((3,2,4))
>>> data.shape
(3, 2, 4)
>>> data.ndim
3

 

 

728x90