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

[Python] NumPy 배열 변환

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

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

참조

  • https://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))
0
import 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))
2
import 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))
4
import 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))
6
import 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))
8
import 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

이 글을 공유하기

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

Facebook

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

Twitter

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

Google +

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

Kakao

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

Naver

'파이썬(Python)' 관련 글

더 보기

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

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

2022.03.01

더 읽기

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

[Python] NumPy 배열 연산

2022.02.18

더 읽기

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

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

2022.02.18

더 읽기

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

[Python] NumPy 배열 조회

2022.02.18

더 읽기

댓글(0)

비밀 글

등록