Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 3dprinter
- 초보영어
- GUI
- C언어
- 영어공부
- opencv
- 오픽
- 특수대학원
- 프로그래밍
- 대학원
- ComputerVision
- 머신러닝
- 4차산업
- 산업대학원
- Vision
- 3d프린터
- 동사
- coding
- 딥러닝
- machinevision
- 직장인
- 머신비전
- 파이썬gui
- 코딩
- 문자열
- 인공지능
- 파이썬
- 석사
- Python
- 영어
Archives
- Today
- Total
미래기술연구소
넘파이 1 본문
728x90
반응형
Numpy의 shape, reshape에 대해 알아보자
np.shape
행렬의 차원을 확인할 수 있는 메소드이며, np.shape(행렬) 뿐만 아니라 행렬.shape 방식으로도 사용 가능합니다.
![](https://blog.kakaocdn.net/dn/cz6CHb/btqHBRH2Cmp/8HYXxVSnYmT7xLQkABNGSK/img.png)
![](https://blog.kakaocdn.net/dn/bQCBl1/btqHCVcFXFP/tDYcK4q6CnmQlGoKNq1PhK/img.png)
np.reshape
행렬의 차원을 변경하는 메소드로 변경 이전의 차원의 곱과 변경 이후 차원의 곱이 같다면, 변환이 가능합니다.
예를 들어 (2, 8)차원을 가진 행렬 A는 (4, 4) 차원을 가진 행렬로 변환이 가능합니다.
2x8 = 16, 4x4 = 16이기 때문입니다.
하지만 (3, 5)차원을 가진 행렬로는 변환이 불가능합니다. 3x5 = 15이기 때문에 차원이 일치하지 않습니다.
np.reshape(행렬, 변환할 차원)으로 차원을 변경할 수도 있고, 행렬.reshape(변환할 차원)으로 변경할 수도 있습니다.
(2, 4) 2x4인 행렬 A를 8x1행렬로 변경
![](https://blog.kakaocdn.net/dn/bcQrc4/btqHEeQvBkS/U7WGNaOTswYRi4SLEhhtGk/img.png)
![](https://blog.kakaocdn.net/dn/bzolc0/btqHJpYfUyQ/jK2rsm6WmCQ6lHIpzFTmu0/img.png)
reshape를 사용해 (n,) 차원으로 구성된 벡터를 (n,1)차원으로 구성된 행렬을 변경할 수 있습니다.
A = A.reshape((8,),) print(A.shape) # (8,) # 여기에서 -1은 n개의 차원 중 n-1개는 사용자가 지정하고 나머지는 알아서 가능한 차원에 맞추라는 의미입니다. # 해당 예제의 경우 2개의 차원 중 마지막 차원에 1을 할당했으므로 -1에는 8이 들어가 (8, 1) 차원 행렬이 됩니다.
print(A.reshape(-1, 1).shape) # (8, 1)
728x90
반응형
'programming > Python' 카테고리의 다른 글
Python Basics (0) | 2020.09.03 |
---|---|
numpy 모듈 & ndarray 이해하기 (0) | 2020.09.02 |
파이썬 상수( Constant ) (0) | 2020.08.29 |
indent ( 들여쓰기 ) (0) | 2020.08.29 |
while 반복문 (0) | 2020.08.08 |