>  기사  >  백엔드 개발  >  NumPy\ Reshape 함수에서 \'-1\' 값의 의미와 사용법은 무엇입니까?

NumPy\ Reshape 함수에서 \'-1\' 값의 의미와 사용법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-20 22:13:30471검색

What is the Meaning and Usage of the '-1' Value in NumPy's Reshape Function?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.