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 강의를 듣고 정리한 것입니다.
'AI > 데이터분석' 카테고리의 다른 글
[Numpy] ndarray 인덱싱 & 슬라이싱 (0) | 2020.01.18 |
---|---|
[Numpy] random 서브 모듈 함수 이용 (0) | 2020.01.18 |
[Crawling] 사이트에 로그인하여 크롤링하기 (0) | 2020.01.14 |
[Crawling] BeautifulSoup & 정규표현식으로 tag 찾기 (0) | 2020.01.13 |
[Crawling] BeautifulSoup 모듈 (2) (0) | 2020.01.13 |