2016-05-25 3 views
0

Как я могу выровнять массив 4d z и массив 4d QCLOUD, а затем узнать значение z, когда происходит QCLOUD max?Поиск элемента в одном массиве, соответствующего максимальному значению в другом

print(z.shape) 
print(qcloud.shape) 
out: (6, 100, 128, 128) 
(6, 99, 128, 128) 
+0

Просто найти индексы 'i',' j', 'k',' w', где максимум 'qcloud' и затем 'print z [i] [j] [k] [w]' при условии, что индексы являются значимыми и совместимыми. –

+0

Если максимум находится в 'qcloud [5, 98, 0, 0]', вы хотите 'z [5, 98, 0, 0]'? Есть ли какие-либо обстоятельства, в которых вы могли бы взять из 'z [:, 99,:,:]'? – Eric

ответ

0

Игнорируя тот факт, что (np.array(z.shape) > np.array(qcloud.shape)).any(), вы хотите argmax:

idx = np.argmax(qcloud) 
result = z[tuple(idx)] 
+0

Благодарим вас за помощь. Ошибка говорит, что «индекс 3642432 выходит за рамки для оси 0 с размером 6.» Что это значит и как я могу это исправить? –

+0

@KingAndy: Смотрите мое обновление – Eric

+0

Спасибо! Теперь мне нужно графически отобразить вывод в граф, используя пиарт. Нанармакс (qlcoud) равен (2,24,40,64), а выход z [2] [24] [40] [64] - 847,6181640625. Как это сделать, и создаст ли это постоянный срез высот на графике? –

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