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)
添加回答
舉報