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의 특정 데이터 처리 요구 사항에 맞게 배열 모양을 효과적으로 변환할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3