본문으로 바로가기

[Numpy] numpy 모듈 & 함수

category AI/데이터분석 2020. 1. 18. 19:12
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

numpy 사용하는 이유

성능 : 파이썬 리스트보다 빠름.

메모리 사이즈 : 파이썬 리스트보다 적은 메모리 사용.

빌트인 함수 : 선형대수, 통계관련 여러 함수 내장.

 

ndarray c언어를 기반으로 하며 물리적 메모리 안에서 연속적으로 할당됨. 

또한 Vectorization 사용함. == 묶음의 계산에 대해서 번에 계산함. 

 

반면 python list 경우 연속되지 않은 메모리를 사용하며 명시적인 loop 사용함.

 

 


 

import numpy as np

 

np.arange 함수

np.arange([start,] stop[, step,], dtype=None)

print(np.arange(10))
print(np.arange(1,10))
print(np.arange(1,10,2))
print(np.arange(5, 100, 5))

python의 range 함수와 아주 유사하며 start는 포함하지만 stop은 그 값을 포함하지 않음. 

 

 


np.ones & np.zeros 함수

np.ones(shape, dtype=None, order='C')

np.zeros(shape, dtype=float, order='C')

print(np.ones((2,3)))
print(np.zeros((2,3)))

원하는 차원의 값을 튜플 인자로 넘겨줌.

 

 


np.empty & np.full

np.empty(shape, dtype=float, order='C') : 랜덤값으로 채워줌.

np.full(shape, fill_value, dtype=None, order='C') : fill_value로 채워줌.

print(np.empty((3,4)))
print(np.full((2,5), 3))

 

 


np.eye

단위행렬 생성 (모든 대각선의 값만 1이고 나머지는 0인 행렬 생성)

print(np.eye(4))

 

 


np.linspace

np.linspace( start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0, )

start에서 stop까지 num개의 개수로 공간을 등분함.

num의 default value는 50 임.

print(np.linspace(1, 10, 5))
print(np.linspace(0, 1))

주로, 그래프를 그릴 때 x 축 좌표를 균등하게 주기 위해서 많이 사용하는 편.

 

 


reshape 함수

a.reshape(shape, order='C')

np 로 시작하지 않고 np 변수로 직접 사용함.

행렬의 형태를 바꾸고 싶을 때 사용.

x = np.arange(1, 16)
print(x)
print(x.shape)

y = x.reshape(3,5)
print(y)

 

 

 

 

 

 

위 내용은 fastcampus 강의를 듣고 정리한 것입니다.