인프런 커뮤니티 질문&답변

그엉님의 프로필 이미지
그엉

작성한 질문수

데이터 과학을 위한 파이썬 NumPy Basic

5-2. 배열의 형태 변경2

질문

작성

·

238

0

 5-2 배열의 형태 변경2

질문이 있습니다.

 

arr=arr.reshape(3,-1)

-> shape 값에 1 넣게 되면 shape값이 자동으로 계산되어 4가 나온다

 

arr=arr.reshape(3,2,-1)

-> shape 값 -1에 자동으로 2라는 배열이 채워져 3차원 배열 출력된다

 

라고 말씀하셨는데, 어떤 원리에서 이처럼 계산되는지 이해가 안가서요,,

무엇을 더하거나 뺀 것인가요? ㅜ

좀 더 자세히 설명해주시면 감사하겠습니다!

답변 1

0

yjglab님의 프로필 이미지
yjglab
지식공유자

안녕하세요. 답변드립니다.

해당 함수의 매개변수 중 -1이라는 값은 1이라는 특정한 값을 더하거나 뺀 것이 아닌 일종의 규칙, 방식이라고 보시면 됩니다.

arr.reshape(3, -1)에서 -1 이 의미하는 것은 이 값이 들어간 위치의 차원을 알아서 계산해준다는 뜻입니다.

즉 12개의 원소 중 행 부분에서 3행을 차지했기에 나머지 원소를 모두 채우기 위해 열 부분이 자동으로 4로 추정되어 배정되는 원리입니다. 추정하여 계산을 하라는 의미로 -1을 입력하는 것입니다. 그 아래 예제도 동일한 원리입니다.

 

그엉님의 프로필 이미지
그엉

작성한 질문수

질문하기