Возьмите среднее значение нескольких многомерных массивов в словаре - PullRequest
0 голосов
/ 14 января 2019

У меня есть словарь из 50 (дней) многомерных массивов данных сетки (широта / долгота) осадков. Каждый массив имеет размер (88, 40). Как я могу вычислить среднее значение всех 50 массивов и получить результат в одном измерении (88, 40)? то есть нужно брать среднее значение в одной и той же точке широты / долготы в течение всех 50 дней.

Это работает в течение нескольких дней, если я даю название словаря с ключами в следующем коде:

np.nanmean((arraysDict['ppt_subset0'], arraysDict['ppt_subset1']), axis =0)

Это ключи моего словаря arraysDict [ 'Ppt_subset0', 'Ppt_subset1', ... 'Ppt_subset49']

Но я не знаю, как это сделать в течение всех 50 дней, за исключением того, что набираю «arraysDict ['ppt_subset0']», 50 раз в моем коде всего словаря.

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Вы можете преобразовать его в один гигантский 3-мерный массив NumPy и затем вычислить среднее значение:

arr = np.array(list(arraysDict.values()))
mean = arr.mean(axes=0)

Остерегайтесь, хотя arr не обязательно будет содержать подмассивы (или дни) в порядке.

0 голосов
/ 14 января 2019

Вы можете получить все значения dict с помощью .values():

np.nanmean(list(arraysDict.values()), axis=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...