2D Numpy 배열 인덱싱 두 개의 개별 인덱스 목록은 단일 인덱스 목록을 사용하는 것만큼 간단하지 않습니다. 원하는 인덱스 선택을 달성하려면 배열을 브로드캐스팅하고 재형성해야 하기 때문에 대규모 배열을 처리할 때 이는 어려울 수 있습니다.
<code class="python">import numpy as np # Create indices row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2] # Create broadcasting arrays index_tuples = np.ix_(row_indices, col_indices) # Perform indexing x_indexed = x[index_tuples]</code>
>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])
대체 구문:np.ix_ 사용을 위한 대체 구문은 달리 지정하지 않는 한 : 연산자를 사용하여 축을 따라 모든 인덱스를 지정하는 것입니다.
방송:입력 배열의 축을 따라 브로드캐스트가 발생한다는 점에 유의하는 것이 중요합니다. 따라서 각 축의 인덱싱 배열 크기는 입력 배열의 해당 크기와 일치해야 합니다.
최적화:np.ix_ 및 브로드캐스팅을 사용한 인덱싱은 상당한 성능 이점을 제공할 수 있습니다. 인덱스를 반복하거나 부울 마스크를 사용하는 것과 비교됩니다. 이는 대규모 배열로 작업할 때 특히 유리합니다.
위 내용은 `np.ix_`를 사용하여 두 개의 인덱스 목록이 있는 2D NumPy 배열을 인덱싱하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!