>  기사  >  백엔드 개발  >  NumPy에서 여러 배열을 인덱싱하는 방법은 무엇입니까?

NumPy에서 여러 배열을 인덱싱하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-10 00:34:021010검색

How to Index Multiple Arrays in NumPy?

NumPy에서 여러 배열 인덱싱

NumPy에서 1차원 배열 이상의 인덱싱에는 고급 기술이 필요합니다. 한 가지 시나리오는 다차원 인덱싱이라고 알려진 다른 배열의 값을 기반으로 하나의 배열을 인덱싱하는 것입니다.

임의 값이 있는 행렬 A을 고려하세요.

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])

그리고 행렬 B 요소 인덱스가 포함되어 있습니다. A:

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])

B의 인덱스를 사용하여 A에서 값을 선택하려면 NumPy의 고급 인덱싱을 사용할 수 있습니다.

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

이 인덱싱 방식은 행 인덱스(0, 1, 2) B에 지정된 인덱스를 사용합니다.

또는 선형 인덱싱을 사용할 수 있습니다.

m,n = A.shape
out = np.take(A,B + n*np.arange(m)[:,None])

여기서 m과 n은 행과 열의 수를 나타냅니다. 각각 A에 있습니다. np.take()는 B와 n에 행 인덱스 범위를 곱하여 생성된 선형 인덱스를 기반으로 A에서 요소를 추출합니다.

둘 중 하나를 사용합니다. 기술을 사용하면 출력은 다음과 같습니다.

[[2, 2, 4, 5],
 [1, 9, 8, 6],
 [2, 0, 7, 8]]

이 색인 방법은 요소에 액세스하고 조작하는 데 유연성을 제공합니다. 여러 기준을 기반으로 복잡한 데이터 처리 시나리오에 대한 NumPy 배열의 다양성을 향상시킵니다.

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

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