2013-03-31 4 views
0

index= np.array([4,2,3,1]) 인 인덱스 목록이 있다고 가정합니다. 나는 2 차원 배열 blah을 가지고 을 사용하여 blah의 행을 추출하고 싶습니다. R에서이 작업을 수행 할 수 있다는 것을 알고 있지만 어떻게 파이썬/numpy로이 작업을 수행합니까?배열을 배열에 전달

+0

하지 않습니다'ㅋ [인덱스를 ,] 네가 원하는 걸 줄까? (R과 같은 문법) –

+0

IndexError : 인덱스로 사용되는 배열은 정수 (또는 부울) 유형이어야합니다. 나는 이것이 무엇을 의미하는지 모르겠습니다. – lord12

+0

재현 할 수있는 예제를 게시하십시오. 여러분의'index'는 여기 보이는 것처럼 보이면 안됩니다. –

답변

1
In [24]: index = np.array([4,2,3,1]) 

In [25]: blah = np.array([[1], [2], [3], [4], [5]]) 

In [26]: blah[index] 
Out[26]: 
array([[5], 
     [3], 
     [4], 
     [2]]) 
+0

IndexError : 인덱스로 사용되는 배열은 정수 (또는 부울) 유형이어야합니다. 이게 무슨 뜻인지 모르겠다. – lord12

+0

'index.dtype'이란 무엇입니까? 당신의'index'는'np.array ([4,2,3,1])'이 아닙니다. –

+0

오, 알겠습니다. int이어야합니다. 이제 작동합니다. – lord12

0

당신은 2 차원 배열 "ㅋ"로 그렇게하려면 다음을 수행 할 수 있습니다

index= np.array([4,2,3,1]) 
blah=np.array([[1,2,3,4,5], [6,7,8,9,10]]) 
matrix=[] 
for i in range(len(blah)): 
    matrix.append(blah[i][index]) 

print np.array(matrix) 

결과 :

[[ 5 3 4 2] 
[10 8 9 7]] 
관련 문제