[NumPy] ndarray 형태바꾸기 (reshape, flatten 등)
19 Jan 2020 | NumPynp.ravel
np.ravel(a, order=’C’)
다차원 배열을 1차원으로 펼쳐줌.
order = ‘C’ 인 경우 row 우선 변경
order = ‘F’인 경우 Column 우선 변경
flatten
다차원 배열을 1차원으로 펼쳐줌.
ravel 과의 차이점 : copy를 생성하여 변경함.
즉, 원본 데이터가 아닌 복사본을 반환.
order = ‘C’ 인 경우 row 우선 변경
order = ‘F’인 경우 Column 우선 변경
![]()
ravel 을 사용하면 새롭게 생성한 변수를 수정하면 기존 행렬의 값에도 영향을 미침.
![]()
반면 flatten은 원본 행렬에 영향을 미치지 않음.
그래서 flatten 사용을 추천함.
![]()
reshape
array의 shape를 다른 차원으로 변경
주의할 점은 reshape한 후의 결과의 전체 원소 개수가 이전 개수와 같아야 가능.
사용예시 ) 이미지 데이터 벡터화 - 이미지는 기본적으로 2,3차원이기에 트레이닝을 위해 1차원으로 변경하여 사용됨.
![]()
차원 지정 시, 최대 한칸은 -1로 대신하면 알아서 해당하는 정수를 찾아서 넣어준다.
![]()
수의 크기가 커질수록 해당하는 약수를 찾기 귀찮아져 -1을 쓰는 경우가 많다.
위 내용은 fastcampus 강의 내용을 정리한 것입니다.
Comments