2012-07-06 2 views
2

특정 인덱스와 일치하는 배열에서 요소를 쉽게 선택할 수 있습니까? 예 : 인덱스 배열 IDX = array ((3,7,5)) 및 배열 A = array ((2,5,3,1,7,5,1,9,7,4, 2,5)) IDX에서 주어진 인덱스에 해당하는 A의 요소를 선택하고 싶습니다.NumPy 배열 잘라 내기 - 특정 인덱스에 해당하는 값 선택

e.e. 나는 이런 식으로 뭔가를 찾고 있어요 :

A[IDX] = array((1,9,5)) or 
A[3,7,5] = array((1,9,5)). 
+2

그리고 당신이 설명하는 방법으로 문제를? –

+0

죄송합니다 - 위 코드 예제에서 효과가 없을뿐입니다. 상단 라인 내가 실제로 작동하지만 하단 라인은 [array ((3,7,5))]이어야합니다. – user1506295

+0

마지막 행은 3 차원 배열에 대한 요소 액세스입니다. 그래도 첫 번째 줄은 잘 작동합니다. 투표를 종료합니다. –

답변

1

내가 NumPy와이 설치되어 있지 않지만, 표준 파이썬으로는 지능형리스트를 사용하여, 나는 NumPy와 배열이 매우 다르게 행동하지 않아야 같아요

>>> IDX = (3,7,5) 
>>> A = (2,5,3,1,7,5,1,9,7,4,2,5) 
>>> [A[i] for i in IDX] 
[1, 9, 5] 
NumPy와 함께
+2

이것은 작동하지만 NumPy의 모든 목적을 무효로 만듭니다. 이는 최적화 된 C 루프를 선호하여 Python 루프를 피하는 것입니다. –

+0

소리가 맞습니다. 참으로 ... – Emmanuel

2

나는 이런 식으로 할 것 :

>>> import numpy as np 
>>> IDX = np.array([3,7,5]) 
>>> A = np.array([2,5,3,1,7,5,1,9,7,4,2,5]) 
>>> A[IDX] 
array([1, 9, 5])