본문 바로가기
프로그래밍/파이썬(Python)

파이썬(Python) Numpy 행렬 연결

by comflex 2021. 9. 4.
728x90
반응형

배열, 행렬 연결하기

목차

  • concatenate
  • vstack, hstack
  • stack

concatenate

두 행렬을 지정된 축에 따라 연결할 수 있습니다.
2차원 배열의 경우 행으로 연결하기 위해서는 axis = 0, 열은 axis = 1 을 지정하면 됩니다.

  • 코드
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])

print( np.concatenate((arr1, arr2), axis = 0) )
  • 출력
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
  • 코드
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])

print( np.concatenate((arr1, arr2), axis = 1) )
  • 출력
array([[ 1,  2,  3,  7,  8,  9],
       [ 4,  5,  6, 10, 11, 12]])

vstack, hstack

hstack(horizontal stack) 두 행렬을 좌우로 연결하고, vstack(vertical stack)은 두 행렬을 위 아래로 연결합니다.

  • 코드
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

np.vstack((arr1,arr2))
  • 출력
array([[1, 2, 3],
       [4, 5, 6]])
  • 코드
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

np.hstack((arr1, arr2))
  • 출력
array([1, 2, 3, 4, 5, 6])

stack

두 행렬을 지정된 축에 따라 연결할 수 있습니다.

  • 코드
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])

arr3=np.stack((arr1, arr2), axis=0)

print(arr3)
  • 출력
[[[ 1  2  3]
  [ 4  5  6]]

 [[ 7  8  9]
  [10 11 12]]]
  • 코드
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])

arr3=np.stack((arr1, arr2), axis=1)

print(arr3)
  • 출력
[[[ 1  2  3]
  [ 7  8  9]]

 [[ 4  5  6]
  [10 11 12]]]
  • 코드
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])

arr3=np.stack((arr1, arr2), axis=2)

print(arr3)
  • 출력
[[[ 1  7]
  [ 2  8]
  [ 3  9]]

 [[ 4 10]
  [ 5 11]
  [ 6 12]]]
728x90
반응형