NumPy에서는 모양(R, 1)이 있는 배열을 접할 수 있습니다. 그리고 (R,). 이러한 모양은 유사해 보일 수 있지만 기본 데이터에 대한 서로 다른 해석을 나타냅니다.
모양 (R, 1)의 배열은 R 행과 단일 열이 있는 2D 배열입니다. 이는 본질적으로 R 요소의 목록으로 생각할 수 있는 열 벡터입니다. 이와 대조적으로 모양이 (R,)인 배열은 R 요소가 있는 1D 배열입니다. 이는 스칼라 값을 나타내는 각 요소가 있는 사실상 목록입니다.
NumPy의 디자인 선택은 (R, 1)을 선호하지 않는 것입니다. 1) 행렬 곱셈의 모양은 고유한 유연성에서 비롯됩니다. 두 가지 모양을 모두 허용하면 프로그래머는 특정 작업에 가장 적합한 표현을 선택할 수 있습니다. (R, 1) 모양은 행렬 곱셈에 더 편리하지만, (R,) 모양은 벡터 또는 스칼라 값 목록으로 작업할 때와 같은 다른 상황에서 더 적합할 수 있습니다.
배열을 명시적으로 재구성하지 않고 행렬 곱셈을 수행하는 대체 접근 방식이 있습니다. 예를 들어, np.expand_dims() 함수를 사용하면 원하는 모양 변환을 얻을 수 있습니다. 또는 NumPy가 특정 조건에서 자동으로 수행하는 브로드캐스팅을 활용할 수도 있습니다. 예를 들어, numpy.dot(M[:,0], numpy.ones((1, R))) 표현식에서 브로드캐스트는 자동으로 numpy.ones((1, R))를 numpy.ones((R)로 확장합니다. , 1)).
위 내용은 NumPy 배열: 모양 (R, 1)과 (R,)의 차이점은 무엇이며 행렬 곱셈에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!