2016-11-01 1 views
-2

내 문제는 움직이는 물체가 다릅니다. 우리는 서로 다른 시간 프레임에서이 객체들 사이의 거리를 계산합니다.파이썬에서 np.where()로부터 nd 배열을 얻는 방법은 무엇입니까?

(a, b)의 거리를 저장하는 배열이 있습니다. a는 fames의 수이고 b는이 거리가 계산 된 좌표 수입니다.

나는 L에이 개체의 이름이 있습니다. 길이는 b입니다.

거리 값이 1 인 위치를 찾고 싶습니다. 그런 다음이 색인의 이름을 L (동일한 색인이 있음)에 위치 시키려고합니다. 나는 다음을 쓴다

A=[[nd array]] 
L=[list of names] 
list_to_array=np.array(L) 
array_of_names_meeting_criteria=list_to_array[np.where(A==1)[1]] 

문제는 프레임마다 이름을 얻지 못한다는 것이다. 그래서 제가 (a, X)은 프레임의 수이며하세요 프레임마다 I는 이름에서 x

샘플 케이스가이 배열 현명 프레임을 분할 할

A=np.array[[1,2,2,6],[3,4,5,1],[3,1,17,4],[2,3,1,5]] 
L=[('cat','dog'),('lion','elephant'),('man','women'),('fish','shark')] 
llist_to_array=np.array(L) 
array_of_names_meeting_criteria=list_to_array[np.where(A==1)[1]] 

I는를 받아야 아래 : -

[['cat','dog'],['fish','shark'],['lion','elephant'],['man','women']] 
+0

당신이 ['샘플 케이스를 추가 할 수 있습니다 '] (http://stackoverflow.com/help/mcve)? – Divakar

+0

추가되었습니다. –

+0

을 확인해 주실 수 있습니까? - "나는 모양 (a, b)"로 n 번째 배열을 가지고 있습니다. 귀하의 샘플 사례는 배열로 'A'와 함께 작동하는 것 같습니다. – Divakar

답변

0

난 그냥 코드는 약간의 편집을했고, 여기 결과입니다 :

A = np.array([[1,2,2,6],[3,4,5,1],[3,1,17,4],[2,3,1,5]]) 
L = [('cat','dog'),('lion','elephant'),('man','women'),('fish','shark')] 
list_to_array = np.array(L) 
array_of_names_meeting_criteria = list_to_array[np.where(A==1)[1]] 
+0

감사합니다. 내 질문에 같은 것을 편집했습니다. –

+0

수정 작업을 했습니까? 내 말은, 내가 게시 한 코드가 이미 원하는 결과를 제공한다는 것입니다. – jtitusj

+0

great. 이것을 정답으로 사용할 수 있습니까? – jtitusj

관련 문제