파이썬 1차원 배열 2차원 배열 변환 - paisseon 1chawon baeyeol 2chawon baeyeol byeonhwan

[Python] NumPy 배열 변환

  • 파이썬(Python)
  • 2022. 2. 18. 19:48

참조

  • //colab.research.google.com/drive/1qEBbLwNJ0FZA6h1BWHm5wu4mrJhbg3ty?usp=sharing

배열 전치 및 축 변경

import numpy as np # 1차원 a1 = np.array([1,2,3,4,5]) # 2차원 a2 = np.array([[1,2,3], [4,5,6], [7,8,9]]) # 3차원 a3 = np.array([ [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ], [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ], [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] ]) print(a2) print(a2.T) # 배열 전치 print(a3) print(a3.T) print(a2) print(a2.swapaxes(1, 0)) print(a3) print(a3.swapaxes(0, 1)) print(a3.swapaxes(1, 2))[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]

배열 재구조화

  • reshape() : 배열의 형상을 변경
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]
  • newaxis() : 새로운 축 추가
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1[np.newaxis, :5]) # row 추가 print(n1[:5, np.newaxis]) # column 추가[1 2 3 4 5 6 7 8 9] [[1 2 3 4 5]] [[1] [2] [3] [4] [5]]

배열 크기 변경

  • 배열 모양만 변경
import numpy as np n2 = np.random.randint(0, 10, (2, 5)) print(n2) n2.resize((5, 2)) print(n2)[[8 8 7 2 7] [9 5 7 9 6]] [[8 8] [7 2] [7 9] [5 7] [9 6]]
  • 배열 크기 증가
  • 남은 공간은 0으로 채워짐
import numpy as np n2 = np.random.randint(0, 10, (2, 5)) print(n2) n2.resize((5, 5)) print(n2)[[0 4 8 4 9] [0 0 2 1 2]] [[0 4 8 4 9] [0 0 2 1 2] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0]]
  • 배열 크기 감소
  • 포함되지 않은 값은 삭제됨
[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]0[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]1

배열 추가

  • append() : 배열의 끝에 값 추가
[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]2[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]3
  • axis를 0으로 지정
  • shape[0]을 제외한 나머지 shape은 같아야 함
[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]4[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]5
  • axis를 1로 지정
  • shape[1]을 제외한 나머지 shape은 같아야 함
[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]6[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]7

배열 연결

  • concatenate() : 튜플이나 배열의 리스트를 인수로 사용해 배열 연결
[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]8[[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 1 1] [4 4 4] [7 7 7]] [[2 2 2] [5 5 5] [8 8 8]] [[3 3 3] [6 6 6] [9 9 9]]] [[1 2 3] [4 5 6] [7 8 9]] [[1 4 7] [2 5 8] [3 6 9]] [[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6] [7 8 9]]] [[[1 2 3] [1 2 3] [1 2 3]] [[4 5 6] [4 5 6] [4 5 6]] [[7 8 9] [7 8 9] [7 8 9]]] [[[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]] [[1 4 7] [2 5 8] [3 6 9]]]9
  • vstack() : 수직 스택(vertical stack), 1차원으로 연결
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))0import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))1
  • hstack() : 수평 스택(horizontal stack), 2차원으로 연결
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))2import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))3
  • dstack() : 깊이 스택(depth stack), 3차원으로 연결
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))4import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))5
  • stack() : 새로운 차원으로 연결
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))6import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))7

배열 분할

  • split() : 배열 분할
import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))8import numpy as np n1 = np.arange(1, 10) print(n1) print(n1.reshape(3, 3))9
  • vsplit() : 수직 분할, 1차원으로 분할
[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]0[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]1
  • hsplit() : 수평 분할, 2차원으로 분할
[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]2[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]3
  • dsplit() : 깊이 분할, 3차원으로 분할
[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]4[1 2 3 4 5 6 7 8 9] [[1 2 3] [4 5 6] [7 8 9]]5

728x90

공유하기

게시글 관리

구독하기BeomBeomJoJo

저작자표시 비영리

'파이썬(Python)' 카테고리의 다른 글

[Python] Visual Studio Code 에서 Python 단위테스트 사용하기  (0)2022.03.01[Python] NumPy 배열 연산  (0)2022.02.18[Python] NumPy 배열 값 삽입/수정/삭제/복사  (0)2022.02.18[Python] NumPy 배열 조회  (0)2022.02.18[Python] NumPy 배열 생성  (0)2022.02.18

이 글을 공유하기

Facebook

Twitter

Google +

Kakao

Naver

'파이썬(Python)' 관련 글

더 보기

[Python] Visual Studio Code 에서 Python 단위테스트 사용하기

2022.03.01

더 읽기

[Python] NumPy 배열 연산

2022.02.18

더 읽기

[Python] NumPy 배열 값 삽입/수정/삭제/복사

2022.02.18

더 읽기

[Python] NumPy 배열 조회

2022.02.18

더 읽기

댓글(0)

비밀 글

등록

Toplist

최신 우편물

태그