728x90
arange
numpy에서 원하는 숫자 범위를 모두 포함하는 배열을 만드는 함수를 제공합니다.
arange를 사용하면 원하는 숫자 범위, 숫자 간격에 따른 array를 생성할 수 있습니다.
import numpy as np;
np.arange(30) # range : List의 range와 같은 효과, integer로 0부터 29까지 배열 추출
-- 출력 --
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])
np.arange(0, 5, 0.5) # floating point 도 표시가능함
-- 출력 --
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
create_array = np.arange(30);
create_array.reshape(5,6)
-- 출력 --
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
zeros는 0으로 가득 찬 array를 생성합니다.
np.zeros(shape, dtype, order)
np.zeros(shape=(10,), dtype=np.int8) # 10 -zero vector 생성
-- 출력 --
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int8)
np.zeros((2,5)) # 2 by 5 - zero matrix 생성
-- 출력 --
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
ones
ones는 zeros와 마찬가지로 1로 가득찬 array를 생성합니다.
np.ones(shape, dtype, order)
np.ones(shape=(10,), dtype=np.int8)
-- 출력 --
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int8)
np.ones((2,5))
-- 출력 --
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
empty
empty는 초기화되지 않은 값으로 zeros나 ones와 마찬가지로 배열을 생성해줍니다.
주의해야 할 것은 메모리도 초기화되지 않기 때문에 예상하지 못한 쓰레기 값이 들어가 있습니다.
np.empty(shape=(10,), dtype=np.int8)
-- 출력 --
array([101, 0, 100, 0, 117, 0, 108, 0, 101, 0], dtype=int8)
np.empty((3,5))
-- 출력 --
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
something_like
_like는 지정된 array의 shape 크기만큼 지정된 값으로 채워 array를 반환합니다.
앞에서 정리한 ones, zeros, empty를 사용할 수 있습니다.
test_matrix = np.arange(30).reshape(5,6);
np.ones_like(test_matrix)
-- 출력 --
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]])
np.zeros_like(test_matrix)
-- 출력 --
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]])
np.empty_like(test_matrix)
-- 출력 --
array([[1611640584, 345, 71, 0, 0,
0],
[ 0, 0, 0, 0, 1953702523,
1937077345],
[1864514082, 573317739, 1667594341, 1869182069, 1868783470,
578055797],
[ 741488698, 1702065442, 2019909490, 1936028272, 1852795251,
2067407475],
[1881287805, 1869379937, 975332449, 8215899, 0,
0]])
empty는 메모리가 초기화되지 않고 할당되기 때문에 쓰레기 값이 있을 수 있습니다.
이 점 꼭 주의 고려하여 사용해야 합니다.
'PYTHON' 카테고리의 다른 글
[Python] Numpy 배열(생성, 색인, 연산 ..) (0) | 2020.12.09 |
---|---|
[python] numpy array 특징과 사용법 (0) | 2020.12.09 |
02-4 튜플 자료형 (0) | 2020.12.09 |
Python Basic I - List (0) | 2019.03.24 |
Python Start <Basic Setting, IDE, Variable> (0) | 2019.03.18 |