4 回答
TA贡献1813条经验 获得超2个赞
cumsum为它使用内置函数(a是你的数组):
a.cumsum()
#[ 1 4 8 13 19 26]
更新:基于 OP 对帖子的编辑(t是标量并且M是dM数组。请注意,python 索引是基于零的而不是基于一的):
M(0) + (dM*t).cumsum()
TA贡献1794条经验 获得超7个赞
一种优雅的解决方案是
m = arr[0]
temp = np.tril(np.ones([m, m]))
new_arr = temp @ arr
TA贡献1850条经验 获得超11个赞
逐行遍历文件,并将当前行的值加上结果数组中前一个元素的值。我不是 numpy 数组的专家,但这样的东西适用于标准列表
def create_sum_array(input_arr, length):
temp_arr = []
for i in range(length):
if(temp_arr = []):
temp_arr.append(input_arr[i])
else:
temp_arr.append(temp_arr[i-1] + input_arr[i])
return temp_arr
TA贡献1946条经验 获得超3个赞
这不是最优雅的解决方案,但像这样的方法会起作用:
import numpy as np
array = np.array([1, 2, 3, 4, 5, 6])
array2 = np.zeros(len(array))
for i in range(len(array)):
if i == 0:
array2[i] = array[i]
array2[i] = np.sum(array[:i+1])
print(array2)
添加回答
举报