Numpy 패키지를 활용해서 Array를 만드는 다양한 방법에 대해서 알아보겠습니다.
import numpy as np
import를 활용해서 numpy 패키지를 np라는 이름으로 불러왔습니다.
np.zeros(10, dtype = int)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
zeros 함수는 0으로 채워진 Array를 만드는데 사용됩니다.
인자로는 Array의 사이즈와 채워지는 value의 타입을 지정해줄 수 있습니다.
윗 코드는 정수 0으로 10의 길이를 가지는 배열을 만들라는 의미입니다.
np.ones((3,5), dtype = float)
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
zeros와 비슷한 함수로 ones도 있습니다.
위 코드를 해석해보면 float 자료형을 가지는 1로 채워진 (3,5)의 사이즈 배열을 만들라는 의미입니다.
결과를 보시면 (3,5) 사이즈의 배열이 생성 된 것을 확인할 수 있습니다.
np.full((3,5), 'a')
array([['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a'],
['a', 'a', 'a', 'a', 'a']], dtype='<U1')
물론 full 함수를 활용하면 0과 1처럼 함수 자체에서 정해진 값이 아닌 내가 선택한 값으로 채워진 배열을 만들 수 있습니다.
위 같은 경우는 (3,5) 사이즈의 배열을 'a' 라는 string 값으로 채웠습니다.
np.arange(0, 100, 10)
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
arange 또한 numpy 내에서 유용한 함수입니다.
python 자체에 내장된 range와 동일한 기능을 하며 배열 형태로 만드는 역할을 합니다.
위 코드를 해석해보면 0부터 100보다 작은 값에 대해서 10만큼 커지도록 배열을 구성합니다.
np.linspace(0,1,5)
array([0. , 0.25, 0.5 , 0.75, 1. ])
linspace의 경우에는 특정 구간을 정해진 개수로 분할하도록 숫자를 구성하며 배열을 생성합니다.
위 코드를 보면 0과 1을 5개의 동일한 간격으로 나누도록 되어있습니다.
0.25 간격으로 (0, 0.25, 0.5, 0.75, 1) 이렇게 5개 길이의 배열이 생성된 것을 관찰할 수 있습니다.
np.random.random((3,3))
array([[0.71922612, 0.36010222, 0.01529908],
[0.66457978, 0.29568066, 0.65197772],
[0.0757983 , 0.00890104, 0.40361753]])
np.random.normal(5, 10, (3,3))
array([[-2.24471018, -2.66571061, 1.07378023],
[-6.39077352, 14.01844859, 17.06148729],
[ 7.4549593 , -2.20532566, 2.60979387]])
또한 numpy 내에는 random 모듈이 들어있습니다.
random 인자 생성 혹은 분포로 부터 배열을 생성 할 수 있습니다.
'데이터 다루기 > Python' 카테고리의 다른 글
[Python] Array 합치기 (0) | 2023.03.27 |
---|---|
[Python] Array 정렬 (Sorting) (0) | 2023.03.16 |
[Python] Numpy란? (0) | 2023.03.15 |
[Python] 에러 및 디버깅 (0) | 2023.02.15 |
[Python] 코드 실행 시간 측정 (0) | 2023.02.15 |