Суммирование двух массивов: ary1.cumsum [: n] + ary2 [n]? - PullRequest
1 голос
/ 23 апреля 2020

Допустим, у меня есть два массива одинакового размера, как я могу в numpy пути получить один массив со следующими элементами:

 a[:1].sum() + b[0] 
 a[:2].sum() + b[1]
 a[:3].sum() + b[2]
 a[:4].sum() + b[3]
 .....

1 Ответ

2 голосов
/ 23 апреля 2020

a.cumsum() + b сделает это.

Например,

In [11]: a
Out[11]: array([3, 5, 1, 4, 2, 6, 0, 5])

In [12]: b
Out[12]: array([1, 2, 3, 4, 5, 6, 7, 8])

In [13]: a.cumsum() + b
Out[13]: array([ 4, 10, 12, 17, 20, 27, 28, 34])

Сравните это с:

In [14]: [a[:k+1].sum() + b[k] for k in range(len(a))]
Out[14]: [4, 10, 12, 17, 20, 27, 28, 34]
...