정수 배열 인덱싱을 사용하여 요소 추출
다차원 배열로 작업할 때 인덱스를 기반으로 특정 요소를 추출해야 하는 경우가 많습니다. NumPy에서는 이를 달성하기 위해 다양한 기술을 사용할 수 있습니다. 그러한 방법 중 하나는 정수 배열 인덱싱을 사용하는 것입니다.
다음 예를 고려하십시오.
A = np.array([[0,1], [2,3], [4,5]]) B = np.array([[1], [0], [1]])
우리의 목표는 A의 요소를 포함하는 새 배열 C를 만드는 것입니다. 요소는 A.shape[0]으로 제공되고 열 인덱스는 B의 흐트러진 버전으로 제공됩니다. 즉, C는 다음과 같아야 합니다.
C = np.array([[1], [2], [5]])
한 가지 접근 방식은 다음과 같이 정수 배열 인덱싱을 사용하는 것입니다.
A[np.arange(A.shape[0]),B.ravel()]
이 접근 방식은 arange 함수를 사용하여 A 행에 대한 인덱스 범위를 생성한 다음 이를 라벨링된 B 버전과 결합하여 열 인덱스를 생성합니다. 결과는 원하는 요소가 포함된 새 배열입니다.
# Sample run print(A) print(B) print(A[np.arange(A.shape[0]),B.ravel()])
출력:
[[0 1] [2 3] [4 5]] [[1] [0] [1]] [1 2 5]
B가 1D 배열인지 아니면 목록의 경우 .ravel()을 사용하여 병합 작업을 건너뛸 수 있습니다.
위 내용은 NumPy에서 정수 배열 인덱싱을 사용하여 다차원 배열에서 요소를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!