Numpy 기초 3편

1. np.arange(n)

 

np.arange(n)은 0~n-1까지 한 행으로 array 생성

 

list의 range는 step size에 floating point가 불가능하나 arange()는 가능

 

그림1. arange에 step size로 floating point를 사용

 

보통 reshape와 같이 사용함

 

arange로 array를 만들고 원하는 shape로 바꾸기 위해 reshape를 사용

 

그림2. reshape로 arange의 shape를 바꾼 모습

 

2. np.zeros() & np.ones()

 

np.zeros()는 0으로 가득 찬 ndarray

 

np.ones()는 1로 가득찬 ndarray

 

그림3. np.zeros와 np.ones 예시

 

3. np.empty()

 

np.empty()는 비어있는 ndarray를 생성한다

 

그런데 일반적으로 배열을 생성할때는 메모리 공간을 싹 비우고(initialization) 잡는데 np.empty는 그냥 메모리 공간을 잡는다.

 

그래서 잡은 공간에 들어가있는 값을 가진 ndarry가 나온다

 

그래서 반복 실행할 때마다 들어가있는 값이 달라짐

 

그림4. np.empty가 실행할때마다 바뀐 모습

 

4. (something)_like()

 

(something)_like(<ndarray>) ndarray의 shape만큼 (something)에 들어간 ndarray를 생성함

 

something에는 ones,zeros,empty정도를 쓸 수 있음

 

그림5. ndarray 예시

 

위와 같은 ndarray가 주어질 때

 

그림6. zeros_like와 ones_like, empty_like 예시

 

zeros_like는 그림5의 ndarray의 shape와 같은 np.zeros() 수행하여 모든 원소에 0을 넣는다

 

ones_like는 np.ones()를 수행하여 모든 원소에 1을 넣고 empty_like는 np.empty()를 수행

 

 

5. np.identity()

 

np.identity(n=(행의 수),dtype=)은 항등행렬을 만든다

 

그림7. np.identity로 5*5 항등행렬 만든 모습

 

6. np.eye() 

 

np.eye(N=(행),M=(열),k=(대각선위치),dtype=)는 지정한 대각선이 모두 1이고 나머지는 0인 행렬

 

그림8. np.eye()로 지정한 대각선은 1로 만든 대각행렬

 

7. np.diag()

 

np.diag(<ndarray>,k=(대각선 위치) 지정한 대각선 위치의 array를 추출

 

그림9. 행렬에서 np.diag()로 지정한 대각원소 추출한 모습

 

그림10. np.diag()의 minus indexing 모습

 

minus indexing이 일반적인 리스트 인덱싱과는 조금 다르다

 

 

8. np.random.()

 

np.random.(분포이름)(모수,size=데이터개수)로 원하는 분포의 난수를 생성

 

그림11. np.random.으로 확률분포 난수 생성

 

 

'프로그래밍 > Numpy' 카테고리의 다른 글

Numpy 기초 6편  (0) 2021.11.30
Numpy 기초 5편  (0) 2021.11.29
Numpy 기초 4편  (0) 2021.11.29
Numpy 기초 2편  (0) 2021.11.27
Numpy 기초 1편  (0) 2021.11.27
TAGS.

Comments