"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 정수 배열 인덱싱을 사용하여 다른 배열의 인덱스를 기반으로 배열에서 요소를 추출하는 방법은 무엇입니까?

정수 배열 인덱싱을 사용하여 다른 배열의 인덱스를 기반으로 배열에서 요소를 추출하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:356

How to Extract Elements from an Array Based on Indices in Another Array Using Integer Array Indexing?

정수 배열 인덱싱을 활용하여 보조 배열 인덱스를 기반으로 요소 추출

주어진 시나리오에서 목표는 배열에서 특정 요소를 검색하는 것입니다. 두 번째 배열 B에 지정된 인덱스를 사용하여 배열 A. np.take 또는 np.choose에 의존하는 대신 더 간단한 접근 방식은 NumPy의 정수 배열 인덱싱을 사용하는 것입니다:

A[np.arange(A.shape[0]),B.ravel()]

이 코드가 원하는 결과를 얻는 방법은 다음과 같습니다.

  • np.arange(A.shape[0])는 다음과 같은 배열을 생성합니다. A.
  • B.ravel() 행을 나타내는 0부터 (A.shape[0] - 1)까지의 인덱스는 B를 1차원 배열로 병합하여 동일한 수의 요소를 갖도록 보장합니다. A의 행으로.
  • 인덱싱 작업 A[...]는 B의 행 인덱스와 열 인덱스를 사용하여 A에서 요소를 검색합니다.

이 접근 방식은 B에서 특히 유용합니다. 1D 배열이거나 열 인덱스 목록입니다. 병합 작업을 건너뛰면 코드가 더욱 단순해집니다.

A[np.arange(A.shape[0]),B]

예:

A = np.array([[0, 1], [2, 3], [4, 5]])
B = np.array([1, 0, 1])

result = A[np.arange(A.shape[0]), B]

print(result)
# Output: [1, 2, 5]
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3