23.02.27 02:45 작성
·
235
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
2023. 02. 27. 03:00
안녕하세요. 답변드립니다.
해당 함수의 매개변수 중 -1이라는 값은 1이라는 특정한 값을 더하거나 뺀 것이 아닌 일종의 규칙, 방식이라고 보시면 됩니다.
arr.reshape(3, -1)에서 -1 이 의미하는 것은 이 값이 들어간 위치의 차원을 알아서 계산해준다는 뜻입니다.
즉 12개의 원소 중 행 부분에서 3행을 차지했기에 나머지 원소를 모두 채우기 위해 열 부분이 자동으로 4로 추정되어 배정되는 원리입니다. 추정하여 계산을 하라는 의미로 -1을 입력하는 것입니다. 그 아래 예제도 동일한 원리입니다.