본문 바로가기
Python/Numpy

Rank 1 배열 사용하지 말기

by 컴돈AI 2024. 3. 31.

목차

    Rank 1 배열 사용시 문제점 & 대체방안

    • 넘파이의 Broadcasting 기능 때문에 헷갈릴 수 있습니다.
    • 만약에 (5,) 크기의 배열 a가 존재할 때 a와 a.T가 연산될 경우 행렬이 아닌 숫자가 나오게 됩니다. 이럴 경우 실제 코드 연산 과정 중에 갑자기 배열이 아닌 숫자가 나와 헷갈리는 경우가 발생할 수 있습니다.
      • import numpy as np
        
        a = np.random.randn(5)
        print(np.dot(a,a.T))
        
        -->
        5.83961507626335
    • 따라서 (5,1) 이나 (1,5)로 표시할 경우 헷갈리지 않고 차원을 그대로 유지하게 됩니다.
      • import numpy as np
        
        a = np.random.randn(1,5)
        print(np.dot(a,a.T).shape)
        
        -->
        
        (1,1)​
      • import numpy as np
        
        a = np.random.randn(5,1)
        print(np.dot(a,a.T).shape)
        
        -->
        
        (5,5)​

     

    'Python > Numpy' 카테고리의 다른 글

    assert를 이용해 shape/차원 확인하기  (0) 2024.03.31
    넘파이 속도는 왜 빠를까?  (0) 2024.03.31