본문 바로가기
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