본문 바로가기

데이터 다루기/Python

[Python] Array 만들기

728x90
반응형

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