반응형
배열을 합치는데 사용되는 함수는 크게 두가지가 있습니다. stack 류 함수와 concatenate 함수입니다.
1) stack 류 함수
- vstack
- hstack
- column_stack
2) concatenate 함수
오늘은 stack류 함수를 이용하여 배열을 행 방향으로 합쳐보겠습니다. 배열을 행방향으로 합칠때는 vstack 함수를 사용합니다. vstack에서 v는 vertical 입니다. '세로'를 의미합니다.
vstack : 배열을 행 방향으로 합치는 함수
배열을 행 방향으로 합친다는 것은 아래와 같이 합치는 것을 말합니다.
[1,2,3]
+
[4,5,6]
=
[[1, 2, 3]
[4, 5, 6]]
1차원 배열 예시
>>> import numpy as np
>>> v1=np.array([1,2,3])
>>> v2=np.array([4,5,6])
>>> np.vstack((ar1,ar2))
array([[1, 2, 3],
[4, 5, 6]])
2차원 배열 예시
>>> m1=np.array([[1,2],[3,4]])
>>> m2=np.array([[5,6],[7,8]])
>>> np.vstack((m1,m2))
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
3차원 배열 예시
>>> ar1=np.array([ [[1,2,3],[4,5,6]] , [[7,8,9],[10,11,12]] ])
>>> ar1
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])
>>> ar2=np.array([ [[10,20,30],[40,50,60]] , [[70,80,90],[100,110,120]] ])
>>> ar2
array([[[ 10, 20, 30],
[ 40, 50, 60]],
[[ 70, 80, 90],
[100, 110, 120]]])
>>> np.vstack((ar1,ar2))
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[ 10, 11, 12]],
[[ 10, 20, 30],
[ 40, 50, 60]],
[[ 70, 80, 90],
[100, 110, 120]]])
3차원 배열에 vstack 함수를 적용하니 행방향이 아니라 높이 방향으로 쌓입니다. 여기서 알 수 있는 것은 vstack이 shape 함수의 첫번째 값 방향으로 배열을 연결한다는 것입니다. 1차원 배열에서는 shape 함수 결과가 행이나 열을 나타내는 값이 아니라 단순히 원소의 수 이므로 예외로 합시다. 2차원 배열에서는 shape 함수 결과가 (행,열)입니다. 3차원 배열에서는 shape 함수 결과가 (층,행,열)입니다. 따라서 vstack 함수의 결과를 2차원 배열에서는 행방향 연결, 3차원 배열에서는 층방향 연결로 이해할 수 있습니다.
반응형
'파이썬 > 통계분석' 카테고리의 다른 글
[파이썬 강의] 63. 벡터를 열벡터로 연결 (column_stack 함수) (0) | 2021.10.22 |
---|---|
[파이썬 강의] 62. 배열을 열 방향(가로 방향)으로 합치기 (hstack 함수) (0) | 2021.10.22 |
[파이썬 강의] 60. 주피터 노트북 경로 드라이브 변경하기 (0) | 2021.10.22 |
[파이썬 강의] 59. 주피터 노트북 크롬에서 실행하기 (0) | 2021.10.22 |
[파이썬 강의] 58. 주피터 노트북 설치하고 실행하기 (0) | 2021.10.22 |
댓글