Эффективная статистика двумерного массива - PullRequest
1 голос
/ 12 февраля 2012

У меня много сеток 100x100, есть ли эффективный способ использования numpy для вычисления медианы для каждой точки сетки и возврата только одной сетки 100x100 со значениями медианы? В настоящее время я использую цикл for для прохождения каждой точки сетки, вычисляя медиану и затем объединяя их в одну сетку в конце. Я уверен, что есть лучший способ сделать это, используя NumPy. Любая помощь будет оценена! Спасибо!

Ответы [ 3 ]

6 голосов
/ 12 февраля 2012

Создайте как массив 100x100xN (или сложите вместе, если это невозможно) и используйте np.median с правильной осью, чтобы сделать это за один раз:

import numpy as np
a = np.random.rand(100,100)
b = np.random.rand(100,100)
c = np.random.rand(100,100)
d = np.dstack((a,b,c))
result = np.median(d,axis=2)
0 голосов
/ 12 февраля 2012

использовать параметр оси медианы:

import numpy as np

data = np.random.rand(100, 5, 5)

print np.median(data, axis=0)

print np.median(data[:, 0, 0])
print np.median(data[:, 1, 0])
0 голосов
/ 12 февраля 2012

Сколько существует сеток?

Один из вариантов - создать трехмерный массив размером 100x100xnumGrids и вычислить медиану по 3-му измерению.

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