[파이썬 numpy 배열 생성하기] |
numpy 배열 생성하기
numpy는 기본 데이터형을 배열로 가지며, 수치계산을 위해 배열부터 생성해야 하는데
배열은 1차원 배열부터 다차원 배열까지 생성이 가능하며 방법은 아래와 같습니다.
1차원 배열
a = np.array([0, 1, 2])
[1 2 3]
2차원 배열
b = np.array([[0, 1, 2], [3, 4, 5]])
[[0 1 2]
[3 4 5]]
3차원 배열
c = np.array([[[1], [2]], [[3], [4]]])
[[[1]
[2]]
[[3]
[4]]]
위와 같이 배열을 생성한 후 차원수와 배열 형태를 확인하는 방법은 아래와 같습니다.
a.ndim # 차원수 반환
a.shape # 배열 형태 반환. 예시> (2,3)
위 방법외에도 배열에 연속적인 값을 입력하거나 어떤 규칙이 있는 데이터를 입력해야 하는 경우
다른 방식으로 배열 생성이 가능합니다.
정수배열 생성
a = np.arange(5)
[0 1 2 3 4] # np.arange(n) : 0부터 n-1까지 정수배열 생성(1차원)
범위내 지점(point) 입력(표현이 좀 이상합니다..)
a = np.linspace(0, 5, 10)
[0. 0.55555556 1.11111111 1.66666667 2.22222222 2.77777778
3.33333333 3.88888889 4.44444444 5. ] # 0~5사이를 10개로 나눈 지점값 입력
간단한 배열 생성
a = np.ones((3, 3))
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
a = np.zeros((2, 2))
[[0. 0.]
[0. 0.]]
a = np.eye(5)
[[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.]]
a = np.diag(np.array([1, 2, 3, 4, 5]))
[[1 0 0 0 0]
[0 2 0 0 0]
[0 0 3 0 0]
[0 0 0 4 0]
[0 0 0 0 5]]
위 배열의 결과값들만 봐도 어떤 기능인지 알 수 있을 것 같습니다.
그리고 numpy에서는 랜덤함수를 이용해 무작위로 배열을 생성하는 방식이 있습니다.
a = np.random.rand(5) # 0 ~ 1 사이에 5개의 난수를 생성합니다.
[0.15817526 0.00289612 0.60159423 0.64357121 0.9331843 ]
'numpy' 카테고리의 다른 글
[Python] numpy 배열을 활용한 인덱싱(Indexing)과 슬라이싱(Slicing) (0) | 2020.02.20 |
---|---|
[Python] numpy(넘파이)가 무엇인가요? (0) | 2020.02.20 |
댓글