Python Basics : Numpy 알아보기
Category: Deep Learning
Tags: numpy deeplearning
Numpy
Numerical Python의 약자로, 파이썬에서 다차원 배열을 쉽게 처리하고 효율적으로 사용할 수 있도록 제공하는 패키지이다. 주로 pandas와 같이 데이터 분석하는 도구로써 알려져 있다.
파이썬 공식 사이트에서 나와있는 특징 :
- 일반 파이썬 리스트에 비해 빠르고, 메모리를 효율적으로 사용한다.
- 반복문 없이 데이터 배열에 대한 처리를 지원하여 빠르고 편리하다.
- 선형대수와 관련된 다양한 기능을 제공한다.
- C, C++, 포트란 등의 언어와 통합이 가능하다.
Numpy 패키지 설치하기
터미널에 해당 명령어를 입력해면 쉽게 설치할 수 있다.
pip install numpy
Numpy 모듈 불러오기
코드의 가장 상단부에 다음과 같은 형식으로 import하는 것이 일반적이다.
import numpy as np
A = np.array() # default 배열 선언하기
Numpy 배열 초기화하기
수동으로 초기화한 numpy 배열
int_np = np.array([0, 1, 2, 3], dtype=np.int64)
float_np = np.array([0, 1, 2, 3.4], dtype='float64')
float 타입으로 처리하는 경우, 데이터가 더 커지기 때문에 float로 표현할 필요가 없을 때(예를 들면 이미지 처리)는 int로 선언해주는 것이 좋다.
자동으로 초기화한 numpy 배열
np.ones(10) # array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
np.zeros((2,3)) # array([[0., 0., 0.], [0., 0., 0.]])
np.arange(3, 10) # array([3, 4, 5, 6, 7, 8, 9])
np.eye(6) # identity matrix (왼쪽 대각선만 1)
Numpy 배열 연산
numpy는 행렬의 연산이나 처리를 간편하게 하는데 초점을 맞춰 구현되었다.
scores = [100, 10, 80]
first_arr =np.array(scores)
print(first_arr * first_arr) # [10000 100 6400]
print(first_arr - first_arr) # [0 0 0]
print(1/(first_arr)) # [0.01 0.1 0.0125]
print(first_arr ** 0.5) # [10. 3.16227766 8.94427191]
<-> Python List 연산과의 비교
파이썬에서 제공하는 리스트는 연산보다는 시각적인 분류에 초점이 맞춰져 있다.
scores = [100, 10, 80]
print(scores + scores) # [100, 10, 80, 100, 10, 80]
print(scores * 3) # [100, 10, 80, 100, 10, 80, 100, 10, 80]