[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]]]
배열 재구조화
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]]
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]]
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
배열 추가
[[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
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
배열 분할
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)
비밀 글
등록