Numpy

[Numpy] Arange, ones, zeros, empty, eye, identity, digonal, random

ju_young 2021. 7. 16. 12:54
728x90
In [2]:
import numpy as np
 
In [4]:
np.arange(30).reshape(-1, 5)
Out[4]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24],
       [25, 26, 27, 28, 29]])
 
In [6]:
np.arange(0, 5, 0.5)
Out[6]:
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
 
In [8]:
np.arange(30).reshape(5,6)
Out[8]:
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29]])

zeros

 
In [10]:
np.zeros(shape=(10,), dtype=np.int8)
Out[10]:
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int8)
 
In [12]:
np.zeros((2,5))
Out[12]:
array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])

ones

In [15]:
np.ones(shape=(10,), dtype=np.int8)
Out[15]:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int8)
 
In [17]:
np.ones((2, 5))
Out[17]:
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])

empty

In [29]:
np.empty(shape=(10,), dtype=np.int8) #메모리의 공간을 잡아주기때문에 다양한 값들이 나온다
Out[29]:
array([ 48, -85, 122, -45,  55,   2,   0,   0,   0,   0], dtype=int8)
 
In [31]:
np.empty((3,5))
Out[31]:
array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])

zeros_like, ones_like, empty_like

 
In [34]:
test_matrix=np.arange(30).reshape(5,6)
np.zeros_like(test_matrix) #shape만큼 0으로 채워짐
Out[34]:
array([[0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0]])

identity

In [37]:
#단위 행렬 생성
np.identity(n=3, dtype=np.int8)
Out[37]:
array([[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]], dtype=int8)
 
In [39]:
np.identity(5)
Out[39]:
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])

eye

In [42]:
#대각선이 1인 행렬, k값의 시작 index의 변경 가능
np.eye(N=3, M=5, dtype=np.int8)
Out[42]:
array([[1, 0, 0, 0, 0],
       [0, 1, 0, 0, 0],
       [0, 0, 1, 0, 0]], dtype=int8)
 
In [45]:
np.eye(3)
Out[45]:
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
 
In [47]:
np.eye(3, 5, k=2)
Out[47]:
array([[0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])

diag

In [49]:
matrix=np.arange(9).reshape(3,3)
np.diag(matrix)#대각 행렬의 값을 추출
Out[49]:
array([0, 4, 8])
 
In [51]:
np.diag(matrix, k=1) #k 값에 시작 index 값을 지정할 수 있음
Out[51]:
array([1, 5])

random(uniform, normal)

In [53]:
np.random.uniform(0, 1, 10).reshape(2, 5) #균등분포
Out[53]:
array([[0.50243199, 0.9498376 , 0.99790863, 0.11305672, 0.47363151],
       [0.70724585, 0.99344765, 0.54637797, 0.86731156, 0.48390969]])
 
In [55]:
np.random.normal(0, 1, 10).reshape(2, 5) #정규분포
Out[55]:
array([[-1.64012279,  0.53024073, -0.43328317, -1.15906182, -0.93499472],
       [-0.8027808 , -0.59694749,  0.83576619, -0.13969333, -0.33055453]])
728x90

'Numpy' 카테고리의 다른 글

[Numpy] Operation, Dot product, Broadcasting  (0) 2021.07.16
[Numpy] Operation_function, Concatenate  (0) 2021.07.16
[Numpy] Indexing, Slicing  (0) 2021.07.16
[Numpy] Reshape  (0) 2021.07.16
[Numpy] Array 생성  (0) 2021.07.16