Перемещение окна расчета по нескольким массивамPython

Программы на Python
Anonymous
Перемещение окна расчета по нескольким массивам

Сообщение Anonymous »

У меня есть несколько двумерных массивов данных, загруженных в массивы NumPy, все из которых имеют одинаковые размеры. Этими общими размерностями являются 2606x и 1228y.
Меня интересуют вычисления между первыми двумя массивами (a1 и a2) в движущемся окне, используя окно размером 2x на 2y, с последующим применением результирующих вычислений к третьему массиву. В частности, рабочий процесс будет следующим:
  • Нахождение максимального и минимального значения a1 в части этого движущегося окна
  • Выбор соответствующих индексов массива этих значений
  • Извлечение значений по этим индексам a2
  • Приведение результата вычисления к каждому из индексов в третьем массиве (a3) внутри движущегося окна.
Я знаю, что этот процесс включает в себя следующие фрагменты кода для получения необходимых мне значений:

Код: Выделить всё

idx1 = np.where(a1 == a1.max())
idx2 = np.where(a1 == a1.min())
val1 = a2[idx1[1], idx1[2]]
val2 = a2[idx2[1], idx2[2]]
Какой дополнительный код требуется для перемещения окна по массивам одинакового размера?

Вернуться в «Python»