> 백엔드 개발 > 파이썬 튜토리얼 > Numpy\'s Reshape()의 -1 매개변수는 와일드카드입니까 아니면 고정 값입니까?

Numpy\'s Reshape()의 -1 매개변수는 와일드카드입니까 아니면 고정 값입니까?

Barbara Streisand
풀어 주다: 2024-10-20 22:15:02
원래의
1073명이 탐색했습니다.

Is the -1 Parameter in Numpy's Reshape() a Wildcard or a Fixed Value?

Numpy Reshape에서 -1의 역할 이해

Numpy에서 reshape() 메소드를 사용하면 배열 모양을 변환할 수 있습니다. 2D 배열로 작업할 때 reshape(-1)을 사용하여 1D 배열로 모양을 변경할 수 있습니다. 예를 들면 다음과 같습니다.

import numpy as np

a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
a.reshape(-1)
# Output: array([[1, 2, 3, 4, 5, 6, 7, 8]])
로그인 후 복사

일반적으로 array[-1]은 배열의 마지막 요소를 나타냅니다. 그러나 reshape(-1)의 맥락에서 이는 다른 의미를 갖습니다.

Reshape의 -1 매개 변수

reshape(-의 -1 매개 변수 1) 와일드카드 차원으로 사용됩니다. 이는 새 모양의 해당 치수가 자동으로 결정되어야 함을 나타냅니다. 이는 새 모양이 선형 차원을 유지하면서 원래 배열 모양과 정렬되어야 한다는 기준을 충족함으로써 수행됩니다.

Numpy는 모양 매개변수 중 하나에 -1 사용을 허용하여 알 수 없는 차원의 지정을 가능하게 합니다. . 예를 들어 (-1, 3) 또는 (2, -1)은 유효한 모양이지만 (-1, -1)은 유효한 모양이 아닙니다.

모양 변경 예(-1)

다음 배열을 고려하십시오.

z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
z.shape  # (3, 4)
로그인 후 복사

(-1)을 사용하여 재구성:

z.reshape(-1)
# Output: array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
# New shape: (12,)
로그인 후 복사

(-1, 1)을 사용하여 재구성(단일 기능):

z.reshape(-1, 1)
# Output: array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10],
#                [11], [12]])
# New shape: (12, 1)
로그인 후 복사

(-1, 2)를 사용하여 재구성(단일 행):

z.reshape(1, -1)
# Output: array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12]])
# New shape: (1, 12)
로그인 후 복사

(2, -1)을 사용하여 재구성:

z.reshape(2, -1)
# Output: array([[ 1,  2,  3,  4,  5,  6], [ 7,  8,  9, 10, 11, 12]])
# New shape: (2, 6)
로그인 후 복사

다음을 사용하여 재구성 (3, -1) (원래 모양):

z.reshape(3, -1)
# Output: array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# New shape: (3, 4)
로그인 후 복사

두 치수를 모두 -1, 즉 (-1, -1)로 지정하면 오류가 발생합니다.

reshape()에서 -1의 중요성을 이해함으로써 개발자는 Numpy의 특정 데이터 처리 요구 사항에 맞게 배열 모양을 효과적으로 변환할 수 있습니다.

위 내용은 Numpy\'s Reshape()의 -1 매개변수는 와일드카드입니까 아니면 고정 값입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿