본문 바로가기
[Library] - Numpy/Quick Start

# 0. Numpy 기초

by Bebsae 2022. 1. 7.

Numpy 라이브러리 설치

우선, 자신의 개발환경에 Numpy 라이브러리가 설치되어 있는지부터 확인하는 명령어는 아래와 같다.

pip list

 

파이썬에 관련되어 설치된 패키지 목록이 출력된다. 그중에서 Numpy가 설치되어 있으면 그냥 넘어가도 되지만, 안되어 있으면 아래와 같은 명령어를 입력한다.

pip install numpy

 

추가로 Matplotlib 라이브러리가 설치되어 있지 않다면 아래의 명령어도 입력해주자. Matplotlib 라이브러리는 시각화를 위한 라이브러리다. Numpy 라이브러리를 통해 얻은 값 혹은 배열을 시각화하는데 도움이 된다.

 

pip install matplotlib

 

Numpy Array

Numpy 라이브러리는 선형대수를 다루기에 적합한 도구이다. Numpy 라이브러리는 Numpy Array라는 동차 다차원 배열 (homogeneous multidimensional array)을 통해 벡터 혹은 행렬을 구성한다. 동차(homogeneous)의 의미는 모든 독립변수를 $\lambda$배 증가시켰을 때, 종속변수가 $\lambda^r$배 증가하는 것을 의미한다. 배열을 함수로 해석하면 각 원소에 공배수인 $\lambda$를 상수로 추출할 수 있는 의미가 되겠다.

 

homogeneous

 

Python의 리스트는 원소의 데이터 타입들이 정해져있지 않다. 그러나, Numpy Array는 데이터 타입을 명시해야 한다. 고로 메모리를 훨씬 적게 소모하기 때문에 Numpy Array를 사용한다. (물론, 선형대수에 적합한 함수들도 포함되어 있기 때문이기도 하다.) 

 

[[1., 0., 0.],
 [0., 1., 2.]]

 

현실 세계에서 [1, 2, 1] 벡터라고 하면, 3차원 공간에 x값은 1, y값은 2, z값은 1인 점을 향해 가르키는 길이가 3인 벡터로 해석할 수 있다.

Numpy Array의 차원들은 axes이며, 각 차원들은 axis(축)라고 불린다. 위의 Array는 2차원 배열이기 때문에 1번째 axis는 길이가 2, 2번째 axis는 길이가 3으로 볼 수 있다.

 

import numpy as np

a = np.array([[1, 0, 0], [0, 1, 2]])

type(a)
>>
<class 'numpy.ndarray'>

 

지금부터는 Numpy Array 의 클래스 ndarray에 속해있는 중요한 속성들을 하나씩 살펴볼 것이다.

 

ndarray.ndim

배열의 축의 갯수를 확인하기 위한 속성이다. 즉, 차원수를 확인하기 위함이다.

a.ndim

>> 
2

 

ndarray.shape

배열의 차원을 확인하기 위함이다. 해당 차원은 튜플의 형태로 제공된다.

a.shape

>>
(2, 3)

 

ndarray.size

배열의 요소들의 수를 의미한다. 이는 ndarray.shape를 통해 얻은 튜플의 요소들을 곱한 값이다.

a.size

>>
6

 

ndarray.dtype

배열에 정의된 요소들의 데이터 타입을 의미한다.

a.dtype

>>
int64

 

ndarray.itemsize

배열의 각 요소가 할당된 크기(바이트 단위)를 의미한다. 예를 들어, 1바이트당 8비트이므로 float64의 경우 64비트를 차지하기 때문에 8 바이트가 배열의 각 요소에 할당된다. complex32는 4바이트가 할당된다.

a.dtype

>>
8

 

ndarray.data

배열의 실제 요소들을 포함하는 버퍼를 의미한다. 그러나 일반적으로 우리는 이 속성을 사용하지 않는다. 왜냐하면, 배열의 인덱싱을 통해 요소에 접근하기 때문이다.

a.data

>>
<memory at 0x7fd41d44f040>

 

참고

https://numpy.org/devdocs/user/quickstart.html

 

NumPy quickstart — NumPy v1.23.dev0 Manual

NumPy provides familiar mathematical functions such as sin, cos, and exp. In NumPy, these are called “universal functions” (ufunc). Within NumPy, these functions operate elementwise on an array, producing an array as output. See also all, any, apply_al

numpy.org

https://ko.wikipedia.org/wiki/%EB%8F%99%EC%B0%A8%ED%95%A8%EC%88%98

 

동차함수 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

'[Library] - Numpy > Quick Start' 카테고리의 다른 글

# 5. Universal functions  (0) 2022.02.25
# 4. Basic Operations  (0) 2022.02.19
# 3. Printing Arrays  (0) 2022.02.19
# 1. Numpy Array Creation  (0) 2022.01.09

댓글