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 중국어 웹사이트의 기타 관련 기사를 참조하세요!