2016-11-01 2 views
-2

У моей проблемы разные движущиеся объекты. Мы вычисляем расстояние между этими объектами в разные временные рамки.Как получить nd массив из np.where() в python?

У меня есть массив й A с формой (а, б), который хранит расстояния. 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=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]] 

я должен получить ниже: -

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

Не могли бы вы добавить [ 'пример случай '] (Http://stackoverflow.com/help/mcve)? – Divakar

+0

Добавлено, не могли бы вы проверить –

+0

Вы сказали - '' У меня есть n-й массив A с формой (a, b) ". Ваш пример с образцом работает с '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

отлично. не могли бы вы считать это правильным ответом? – jtitusj

Смежные вопросы