(numpy) 배열의 결합

2022. 10. 20. 18:21·Python/numpy

배열을 결합하기위해서는 특정한 조건이 필요하다. 예를 들어서 행으로 결합한다면 (가로로 붙힌다면) 배열의 세로(행)의 사이즈가 맞아야 한다.

 

반대로 열로 결합한다면 (세로로 붙힌다면) 당연히 가로 길이가 맞아야 할 것이다. 

행으로 결합하기 위해 두 배열을 붙히는데 위의 배열은 세로 길이가 맞아 잘 결합되었지만, 아래 두 배열은 세로 길이가 맞질 않아 결합이 되지 않는다. 따라서 배열을 결합하기 위해선 행/열의 길이를 맞추어야 한다.

 

np.concatenate((arr_1,arr_2),axis = )

arr_1 와 arr_2 두 배열을 합칠 때 사용한다. axis는 축을 의미하는데 0을 넣으면 열로 결합하기 때문에 (아래로 결합) 열의 크기를 맞추어야 하고 1은 가로로 결합한다는 의미이다.

예시)

import numpy as np

a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[9,8,7],[6,5,4],[3,2,1]])
print(np.concatenate((a,b),axis = 0))	# 세로로 결합

>>> [[1 2 3]
 [4 5 6]
 [7 8 9]
 [9 8 7]
 [6 5 4]
 [3 2 1]]

 

np.stack((arr_1,arr_2),axis = )

concatenate함수와 같이 배열을 축을 기준으로 합치지만, 합치려는 축을 제외한 부분의 크기도 같아야 한다. 쉽게 말해서 합치려는 두 배열 모두 행과 열의 크기가 같아야한다.

예시)

import numpy as np

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(np.stack((a,b),axis = 1))	// 가로로 결합

>>> [[[1 2]
  [5 6]]
 [[3 4]
  [7 8]]]

 

np.vstack((arr_1,arr_2))

배열을 세로로 결합한다. concatenate 함수의 axis = 0과 같은 의미이며 열 개수가 일치해야한다.

예시)

import numpy as np

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(np.vstack((a,b)))

>>>[[1 2]

 [3 4]

 [5 6]

 [7 8]]

 

np.hstack((arr_1,arr_2))

 배열을 가로로 결합한다. concatenate 함수의 axis = 1과 같은 의미이며 행 개수가 일치해야한다.

예시)

import numpy as np

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(np.hstack((a,b)))

>>> [[1 2 5 6]

 [3 4 7 8]]

 

np.dstack((arr_1,arr_2))

배열을 앞 뒤로 결합한다. 3차원 이상 배열에서 사용 가능하다

예시)

import numpy as np

a = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
b = np.array([[[9,10],[11,12]],[[13,14],[15,16]]])

print(np.dstack((a,b)))

>>> [[[ 1  2  9 10]
  [ 3  4 11 12]]

 [[ 5  6 13 14]
  [ 7  8 15 16]]]

반응형
저작자표시 (새창열림)

'Python > numpy' 카테고리의 다른 글

(numpy) 배열의 분할  (0) 2022.10.20
(numpy) random과 관련된 함수  (0) 2022.10.20
(numpy) 특정 값으로 배열 생성 (np.zeros, np.ones, np.empty, np.full)  (0) 2022.10.20
(numpy) 타입변환 (np.astype, np.tolist)  (0) 2022.10.14
(numpy) 차원 관련 함수 (np.shape, np.size, np.reshape)  (0) 2022.10.14
'Python/numpy' 카테고리의 다른 글
  • (numpy) 배열의 분할
  • (numpy) random과 관련된 함수
  • (numpy) 특정 값으로 배열 생성 (np.zeros, np.ones, np.empty, np.full)
  • (numpy) 타입변환 (np.astype, np.tolist)
re-hwi
re-hwi
재휘의 개발일기
    반응형
  • re-hwi
    Dvelopment blog
    re-hwi
  • 전체
    오늘
    어제
    • 재휘의 개발일기 (167)
      • 개발 (25)
        • 소프트웨어 공학 (25)
      • Python (18)
        • numpy (8)
      • OS (23)
        • 쉽게 배우는 운영체제 (23)
      • Front end (1)
        • HTML (6)
        • CSS (9)
        • JavaScript (18)
        • React (2)
        • Vue.js (5)
        • TypeScript (5)
        • Sass (3)
      • Algorithm (1)
        • 파이썬 알고리즘 인터뷰 (2)
        • 자료구조와 함께 배우는 알고리즘 (20)
      • Android (2)
        • 안드로이드 앱 프로그래밍 with 코틀린 (2)
      • Project (15)
      • Network (0)
      • etc (12)
        • 이것저것 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CSS
    HTML
    자료구조
    파이썬
    TS
    오블완
    뷰
    컴포넌트
    sass
    리액트
    타입스크립트
    티스토리챌린지
    REACT
    FE
    정보처리기사
    플레이리스트
    자료흐름도
    프론트엔드
    pwa
    정처기
    개발
    연결리스트
    scss
    numpy
    JavaScript
    typeScript
    js
    알고리즘
    vue
    표
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
re-hwi
(numpy) 배열의 결합
상단으로

티스토리툴바