Python: сворачивание массивов массивов друг в друга без циклов for - PullRequest
0 голосов
/ 09 июля 2020

Предположим, у меня есть несколько 2D-массивов NxN, хранящихся в списке в Python 3. Я хочу свернуть все массивы в 1 массив с такими же размерами NxN, но так, чтобы каждый элемент этого нового массива содержал массив 1xN соответствующих значений из исходных массивов.

Чтобы дать вам больше контекста, каждый массив в этом списке соответствует набору значений в данный момент времени. Для каждой новой временной точки я сохраняю обновленную версию этого массива в списке. Как только это будет сделано, я хочу вычислить стандартное отклонение значений для каждого элемента (i, j) в массиве.

Я пробовал использовать для l oop, но это занимает слишком много времени для моих моделирования, потому что это набор из 100000 массивов. Мне было интересно, есть ли какие-нибудь numpy или векторизованные функции, которые могут помочь мне выполнить эту операцию более эффективно. Спасибо!

1 Ответ

2 голосов
/ 10 июля 2020

Допустим, l - это ваш список массивов. Вам нужно получить std соответствующих элементов этих массивов в один массив:

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