데이터분석 🔎/python library

[NumPy] 넘파이란? 넘파이 배열 생성과 선언- np.array,np.arange,np.linspace

23.8 2021. 7. 6. 03:01
반응형

NumPy란?

넘파이란 파이썬에서 scientific computing에 사용되는 패키지이다.

파이썬 라이브러이 중 하나로 다차원 배열과 행렬을 다룰 때 유용하며 데이터 분석 시 일반적으로 판다스와 같이 호출하며 데이터 분석시 판다스와 같이 사용되는 주로 라이브러리이다.

 

라이브러리를 호출 할 때는 아래와 같이 np라고 부르는 것이 일반적이다

import numpy as np

 

ndarray

ndarray는 NumPy에서의 배열 클래스로 Numpy의 배열 객체이다. ndarray는 NumPy 패키지의 핵심이며 사용자에게 n차원의 배열을 위한 인터페이스를 제공한다. numpy에서의 array는 다차원 배열을 다루기에 파이썬 표준 라이브러리에서 하나의 차원만을 다루는 array와 다르다

 

ndarray 생성

Python 시퀀스를 ndarray로 변환  

(1) np.array() 

파이썬의 리스트나 튜플과 같은 시퀀스 자료형을 Numpy arrays로 변환할 수 있다. 리스트와 튜플은 각각 [...], (...)을 사용하여 정의된다.

*시퀀스 자료형은 연속된 값을 가지고 있는 자료형을 뜻한다

a = np.array([1,2,3,4])
b = np.array([2,7],[4,5])
c = np.array([[1,2],[3,4]],
		[[1,2],[6,7]])

a와 b, c는 각각 1차원, 2차원, 3차원 배열이다.

 

 

Numpy 내장 함수 사용

(2) np.arange()  

arange는 지정된 값에 따라 일정하게 증가하는 배열을 만든다. 

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

np.arange(5,10)
>>>array([5, 6, 7, 8, 9])

np.arange(3,4,0.2)
>>>array([3. , 3.2, 3.4, 3.6, 3.8])

 

 

(3) np.linspace()

linspace는 시작값, 끝값, 만들고자 하는 요소의 개수를 주면 시작과 끝값 사이에 균등 한 간격의 숫자를 반환한다

np.linspace(1,10,2)
>>>array([ 1., 10.])

np.linspace(1,10,5)
>>>array([ 1.  ,  3.25,  5.5 ,  7.75, 10.  ])

np.linspace(5,6,5)
>>>array([5.  , 5.25, 5.5 , 5.75, 6.  ])

 

 

(4) np.eye()

np.eye(n,m)은 n*m 크기의 단위 행렬을 생성한다. 

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.]])
       
       
np.eye(2)
>>>array([[1., 0.],
       [0., 1.]])
       
       
np.eye(5,7)
>>>array([[1., 0., 0., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0., 0., 0.],
       [0., 0., 0., 1., 0., 0., 0.],
       [0., 0., 0., 0., 1., 0., 0.]])

 

 

 

(5) np.zeros()

np.zeros는 0으로 채워진 행렬을 생성한다.

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

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

       [[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]]])

 

 

 

(6) np.ones()

np.ones는 1으로 채워진 행렬을 생성한다.

np.ones((3,3))
>>>array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])

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

       [[1., 1.],
        [1., 1.],
        [1., 1.],
        [1., 1.],
        [1., 1.]],

       [[1., 1.],
        [1., 1.],
        [1., 1.],
        [1., 1.],
        [1., 1.]]])

 

 

 

728x90
반응형