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 중국어 웹사이트의 기타 관련 기사를 참조하세요!