У меня есть массив Numpy, который содержит несколько массивов внутри.Как я могу суммировать все массивы в результате в один массив Numpy? - PullRequest
0 голосов
/ 26 января 2019

Так что я немного растерялся здесь.У меня есть массив Numpy, который содержит несколько массивов внутри него.Моя цель состоит в суммировании всех массивов ВНУТРИ большого массива, в результате чего получается единичный массив, содержащий эти суммированные значения.

Я уже пытался использовать np.sum (), но это заходит слишком далеко исуммирует все, возвращая одно целочисленное значение.

пример того, что я пытаюсь выполнить: a = (массив ([1, 2, 3]), массив ([3, 4, 5])) ** выполнить некоторые шаги, и желаемый результат: a = (array ([4, 6, 8]))

Ответы [ 3 ]

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

Вы можете напрямую использовать операцию суммирования для этой цели.Для выполнения этой задачи вам не нужны какие-либо специальные встроенные функции.

import numpy as np

a = (np.array([1,2,3]), np.array([3,4,5])))
sum = a[0] + a[1]
print('The summation of two sub-arrays: ',sum)

После интерпретации приведенного выше кода вы получите такой результат:

суммирование двух подмассивов: [4 6 8]

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

Вам определенно нужно перебрать элементы списка np, поэтому проверьте это для повторения попарно и, во-вторых, проверьте элементы этого списка sum

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

ОБНОВЛЕНИЕ: лучшее решение с добавлением векторизации

#!/usr/bin/env python3

import numpy as np

a = (np.array([1,2,3]), np.array([3,4,5]))
print(sum(a))
>>> [4 6 8]

Оригинальное, неуклюжее, не пахнущее решение

#!/usr/bin/env python3
import numpy as np
a = (np.array([1,2,3]), np.array([3,4,5]))  
b = zip(*a) 
c = [sum(arr) for arr in b]
print(c)
>>> [4, 6, 8]
d = np.array(c)
print(d)
>>> [4 6 8]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...