NumPy 배열 모양(R, 1)과 (R,)의 차이점은 무엇입니까?
NumPy 배열 모양(R, 1)과 (R,)의 차이점
NumPy에서 배열의 모양은 미묘하게 다를 수 있습니다. 예를 들어 (R, 1) 및 (R,). 이러한 모양은 비슷해 보이지만 해석하고 처리하는 방식에 근본적인 차이가 있습니다.
1. 배열 구조 이해
NumPy 배열은 데이터 버퍼와 뷰로 구성됩니다. 데이터 버퍼는 원시 데이터 요소를 저장하는 반면, 뷰는 데이터를 해석하는 방법을 설명합니다. 모양은 뷰의 일부이며 배열에 포함된 차원과 요소 수를 지정합니다.
모양 (R, 1) 및 (R,)
- (R, 1): 이 모양은 R개의 행과 1개의 열으로 구성된 배열을 나타냅니다. 1차원 배열처럼 동작하지만 크기 1의 추가 차원이 있습니다.
- (R,): 이 모양은 R 행만 있는 배열을 나타냅니다. 추가 차원 없이 진정한 1차원 배열처럼 동작합니다.
2. 다양한 모양이 필요한 이유
NumPy는 역사적인 이유로 두 가지 모양을 모두 지원하고 특정 작업에 유연성을 제공하기로 결정했습니다. 일부 작업에서는 특정 모양의 배열을 예상하거나 생성하므로 입력 모양에 따라 동작이 달라집니다.
3. 행렬 곱셈의 의미
귀하의 numpy.dot(M[:,0], numpy.ones((1, R))) 예에서는 모양이 문제를 일으킬 수 있습니다. M[:,0]의 모양은 (R,)인 반면 numpy.ones((1, R))의 모양은 (1, R)이므로 정렬 오류가 발생합니다. 이 문제를 해결하려면 M[:,0]을 (R, 1)로 명시적으로 변경하면 됩니다.
4. 모범 사례
(R, 1)과 (R,) 사이에 엄격한 우선순위는 없지만 일반적으로 배열이 논리적으로 1차원이지만 추가 작업이 필요한 경우 (R, 1)을 사용하는 것이 좋습니다. 특정 작업에 대한 차원입니다. 오류를 피하기 위해 사용하는 모든 함수에서 예상되는 모양을 알고 있어야 합니다.
대체 접근 방식
귀하의 예에서는 모양 변경을 피하기 위해 다음 대안을 고려할 수도 있습니다.
- numpy.dot(M.T, numpy.ones((R, 1)))
- M.sum(축=0).reshape((R, 1))
위 내용은 NumPy 배열 모양(R, 1)과 (R,)의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Linux 터미널에서 Python 사용 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.
