Пиксель за пикселем медиана списка двумерного массива - numpy - PullRequest
2 голосов
/ 16 апреля 2019

У меня есть список numpy 2D ndarray, и я пытаюсь вычислить медиану «пиксель за пикселем» и некоторый процентиль всей демки списка.В основном это растровые и мне нужно сохранить их размеры.Например:

A = [[1,1],[2,2]]
B = [[2,2],[3,3]]
C = [[3,3],[4,4]]

и я хочу:

my_median = [[2,2],[3,3]]

Я могу сделать это в "C-стиле" с циклами for и в конечном итоге cython или numba для ускоренияпроцесс, так как мои массивы довольно большие, но я почти уверен, что упускаю простой и эффективный способ в numpy?

np.median(np.sum([A,B,C])) дает мне только глобальную медиану или, если я играю с axis медианой на строку или столбец.

Заранее спасибо!

1 Ответ

1 голос
/ 16 апреля 2019

Вы можете использовать dstack, чтобы сложить массивы по порядку глубины и взять np.median вдоль последней оси:

np.median(np.dstack([A,B,C]), -1)

array([[2., 2.],
       [3., 3.]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...