Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对NumPy数组进行累进求和_Python_Arrays_Numpy - Fatal编程技术网

Python 如何对NumPy数组进行累进求和

Python 如何对NumPy数组进行累进求和,python,arrays,numpy,Python,Arrays,Numpy,如果以前有人问过,请原谅,我找不到。我正在尝试使用向量运算将一个numpy数组逐步求和为一个新的numpy数组。我的意思是,新数组的第二个索引等于旧数组的第1+2个索引。或者A[n]=B[0]+B[1]…+B[n]。我知道如何使用for循环实现这一点,但我正在寻找一种矢量化的解决方案 以下是我的非矢量化解决方案: 将numpy导入为np A=np.arange(10) B=np.空(10) 对于范围内的i(len(A)): B[i]=和(A[0:i+1]) 印刷品(B) 您可以这样做: impo

如果以前有人问过,请原谅,我找不到。我正在尝试使用向量运算将一个numpy数组逐步求和为一个新的numpy数组。我的意思是,新数组的第二个索引等于旧数组的第1+2个索引。或者A[n]=B[0]+B[1]…+B[n]。我知道如何使用for循环实现这一点,但我正在寻找一种矢量化的解决方案

以下是我的非矢量化解决方案:

将numpy导入为np
A=np.arange(10)
B=np.空(10)
对于范围内的i(len(A)):
B[i]=和(A[0:i+1])
印刷品(B)

您可以这样做:

import numpy as np  

A = np.arange(10)
B = np.cumsum(A)
# [ 0  1  3  6 10 15 21 28 36 45]

谢谢

您可以这样做:

import numpy as np  

A = np.arange(10)
B = np.cumsum(A)
# [ 0  1  3  6 10 15 21 28 36 45]
谢谢

累进的总和被称为累积总和。使用NumPy的

使用您的示例并将
B
np进行比较。求和(A)
将得到相等的数组:

>>将numpy作为np导入
>>>A=np.arange(10)
>>>B=np.空(10)
>>>对于范围内的i(len(A)):
...     B[i]=和(A[0:i+1])
... 
>>>np.数组_等于(B,np.总和(A))
符合事实的
累进的总和称为累积总和。使用NumPy的

使用您的示例并将
B
np进行比较。求和(A)
将得到相等的数组:

>>将numpy作为np导入
>>>A=np.arange(10)
>>>B=np.空(10)
>>>对于范围内的i(len(A)):
...     B[i]=和(A[0:i+1])
... 
>>>np.数组_等于(B,np.总和(A))
符合事实的
这是“累计总和”,请参见“累计总和”,请参见