NumPy에서 배열 크기를 제어하기 위해 np.newaxis를 어떻게 사용할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-10-26 01:56:02
원래의
170명이 탐색했습니다.

How Can np.newaxis Be Used to Control Array Dimensions in NumPy?

np.newaxis 및 해당 애플리케이션 이해

NumPy의 np.newaxis는 사용자가 배열의 차원을 원활하게 늘릴 수 있는 강력한 도구입니다. np.newaxis를 한 번 활용하면 1차원 배열이 2차원 배열로 변환되고, 2차원 배열이 3차원이 되는 식입니다.

시나리오 1: 행 또는 열 생성 벡터

np.newaxis는 1차원 배열을 행 또는 열 벡터로 명시적으로 변환하는 데 유용합니다. 첫 번째 차원을 따라 축을 삽입하여 행 벡터를 만들고, 두 번째 차원을 따라 축을 삽입하여 열 벡터를 얻습니다.

예:

<code class="python">arr = np.arange(4)
row_vec = arr[np.newaxis, :]
col_vec = arr[:, np.newaxis]</code>
로그인 후 복사

시나리오 2: 브로드캐스팅 활성화

np.newaxis는 추가와 같은 작업을 위해 NumPy 브로드캐스팅을 촉진하는 데 중요한 역할을 합니다. 설명을 위해 다음 배열을 고려해보세요.

<code class="python">x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])</code>
로그인 후 복사

이러한 배열을 NumPy에 직접 추가하려고 하면 모양이 다르기 때문에 ValueError가 발생합니다. np.newaxis를 사용하여 두 배열 중 하나에 새 축을 삽입하면 브로드캐스팅을 활성화하고 작업을 진행할 수 있습니다.

예:

<code class="python">x1_new = x1[:, np.newaxis]
sum_array = x1_new + x2</code>
로그인 후 복사

또는 다음을 수행할 수 있습니다. x2에 새 축 추가:

<code class="python">x2_new = x2[:, np.newaxis]
sum_array = x1 + x2_new</code>
로그인 후 복사

시나리오 3: 고차 배열의 차원 승격

np.newaxis를 여러 번 사용하여 배열을 승격할 수 있습니다. 더 높은 차원, 텐서 조작에 특히 유용한 기능입니다.

예:

<code class="python">arr = np.arange(5*5).reshape(5,5)
arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]</code>
로그인 후 복사

대안: np.expand_dims 및 None

np.expand_dims는 치수 확장을 위한 직관적인 축 매개변수를 제공합니다. 또한 None은 np.newaxis와 같은 의미로 사용할 수 있습니다.

결론

np.newaxis는 NumPy 배열의 차원을 관리하기 위한 다용도 도구입니다. 행 또는 열 벡터 생성부터 고차 배열의 차원 승격 및 브로드캐스팅 활성화까지 응용 범위가 넓습니다.

위 내용은 NumPy에서 배열 크기를 제어하기 위해 np.newaxis를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!