Python - Как сделать операции над скользящим окном на 2D массивах? - PullRequest
0 голосов
/ 30 августа 2018

Я хотел бы выполнять непростые операции над двумерными массивами, используя скользящее окно в Python. Я буду более точным с примером. Предположим, что у нас есть матрица 10x10 и скользящее окно 3x3, начиная с самого первого элемента (1,1), я хотел бы создать новую матрицу того же размера, где у каждого элемента у меня будет результат операции (процентиль). чисел, сложных операций и т. д.) с учетом всех элементов, охватываемых окном. Я могу сделать это с помощью функции np.lib.stride_tricks.as_strided , но для больших массивов это дает ошибку памяти. Кто-нибудь знает лучшее решение?

1 Ответ

0 голосов
/ 30 августа 2018

Вы хотите создать новую матрицу с теми же значениями, что и у окон, чтобы изменять ее элементы без изменения основной матрицы? Если это так, я думаю, что вы можете использовать метод копирования, чтобы избежать изменения основной матрицы.

Метод Numpy Copy

...