NumPY: понять, как суммировать каждые n значений в матрице массива - PullRequest
0 голосов
/ 09 сентября 2018

Привет, ребята,

 array([[  3.,  12.,  21.,  30.],
           [  3.,  12.,  21.,  30.],
           [  3.,  12.,  21.,  30.],
           [  3.,  12.,  21.,  30.],
            ...
           [  3.,  12.,  21.,  30.]
           [  3.,  12.,  21.,  30.],
           [  3.,  12.,  21.,  30.],
           [  3.,  12.,  21.,  30.]])

Как суммировать каждые 29 строк в одном столбце: (3 + 3 + 3 + 3 ...) 29 раз. Может быть здорово изменить размер нашего массива (1392, 8760) в (48, 8760) после суммы этих значений. Я попытался взглянуть на функцию преобразования и суммирования, но мне трудно понять, как она работает.

1 Ответ

0 голосов
/ 09 сентября 2018

Общая идея заключается в том, чтобы добавить дополнительное измерение в ваш массив, чтобы разбить его на куски n длины, а затем суммировать по первой оси.

Настройка

a = np.zeros((1392, 8760))
chunk_size = 29

Использование reshape и sum:

out = a.reshape(-1, chunk_size, a.shape[1]).sum(1)
print(out.shape)

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