>백엔드 개발 >파이썬 튜토리얼 >정수 배열 인덱싱을 사용하여 NumPy 배열에서 요소를 추출하는 방법은 무엇입니까?

정수 배열 인덱싱을 사용하여 NumPy 배열에서 요소를 추출하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-12 18:04:02791검색

How to Extract Elements from a NumPy Array Using Integer Array Indexing?

NumPy 배열을 사용한 인덱스 추출

NumPy에서 다차원 배열로 작업할 때 인덱스를 기반으로 특정 요소를 추출해야 하는 경우가 많습니다. 이와 관련하여 배열(B)이 다른 배열(A)의 두 번째 차원에 대한 인덱스 역할을 하는 특정 시나리오가 발생할 수 있습니다.

두 개의 배열 A와 B가 있는 예를 생각해 보세요.

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

우리의 목표는 A의 각 행에서 하나의 요소를 추출하는 것입니다. 여기서 요소 인덱스는 B의 해당 요소에 의해 결정됩니다. 원하는 출력 is:

C = np.array([[1],
              [2],
              [5]])

정수 배열 인덱싱을 사용한 솔루션:

B를 브로드캐스팅하는 대신 NumPy의 순수 정수 배열 인덱싱을 사용할 수 있습니다.

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

여기서 np.arange(A.shape[0])은 다음의 배열을 생성합니다. A의 행 수에 해당하는 인덱스이고 B.ravel()은 B를 1D 배열로 평면화합니다. 이들을 결합하여 A에서 적절한 요소를 추출할 수 있습니다.

샘플 실행:

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]

이 접근 방식은 추출 문제에 대한 간결하고 효율적인 솔루션을 제공합니다.

위 내용은 정수 배열 인덱싱을 사용하여 NumPy 배열에서 요소를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.