NumPy Reshape 함수의 '-1' 값 이해
NumPy의 Reshape 기능을 사용하면 다차원 배열의 모양을 변환할 수 있습니다. "-1" 값은 일반적으로 새 모양을 지정할 때 자리 표시자로 사용되지만, 그 해석은 마지막 요소인 array[-1]의 일반적인 의미와 다릅니다.
reshape의 맥락에서 " -1"은 알 수 없는 차원을 나타냅니다. 함수는 배열의 기존 모양과 지정된 다른 차원을 기반으로 이 차원을 자동으로 결정합니다. 관련된 핵심 원칙은 새 모양이 원래 모양과 호환되어야 한다는 것입니다.
"-1"의 작동 방식을 더 잘 이해하려면 다음 예를 고려하세요.
<code class="python">import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) print(a.reshape(-1))</code>
이 경우 , a는 (2, 4)의 형태를 갖는다. reshape(-1)을 사용하여 배열을 1차원 배열로 평면화합니다. 새로운 모양은 원래 모양(2x4 = 8)과 호환되는 (8,)이 됩니다.
이제 "-1"을 사용하여 배열 모양을 변경하는 다양한 방법을 살펴보겠습니다.
단일 기능으로 재형성:
배열을 단일 기능(즉, 단일 열)이 있는 형태로 재형성하려면 reshape(-1, 1)을 사용할 수 있습니다.
<code class="python">print(a.reshape(-1, 1))</code>
이렇게 하면 각 요소가 원래 배열의 행인 (8, 1) 모양이 됩니다.
단일 샘플로 재구성:
마찬가지로 배열을 단일 샘플(즉, 단일 행)이 있는 형식으로 변경하려면 reshape(1, -1)을 사용할 수 있습니다.
<code class="python">print(a.reshape(1, -1))</code>
이렇게 하면 각 요소가 원래 배열의 열인 (1, 8) 모양을 생성합니다.
알 수 없는 차원으로 재구성:
하나의 차원만 지정하는 경우 "-1"로 지정하면 함수는 원래 모양과 제공된 치수를 기준으로 알 수 없는 치수를 계산합니다.
<code class="python">print(a.reshape(2, -1))</code>
이 예에서는 행 수를 2로 지정합니다. 함수는 다음을 계산합니다. 열 개수는 6이므로 모양은 (2, 6)이 됩니다.
알 수 없는 다중 차원 오류:
다중 차원을 지정하는 것이 중요합니다. "-1"을 사용하면 함수가 알 수 없는 차원 하나만 처리할 수 있으므로 오류가 발생합니다.
<code class="python">try: a.reshape(-1, -1) except ValueError as e: print(e)</code>
이렇게 하면 "알 수 없는 차원 하나만 지정할 수 있습니다."라는 오류 메시지가 생성됩니다.
위 내용은 NumPy\ Reshape 함수에서 \'-1\' 값의 의미와 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!