4 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
cumsum為它使用內(nèi)置函數(shù)(a是你的數(shù)組):
a.cumsum()
#[ 1 4 8 13 19 26]
更新:基于 OP 對(duì)帖子的編輯(t是標(biāo)量并且M是dM數(shù)組。請(qǐng)注意,python 索引是基于零的而不是基于一的):
M(0) + (dM*t).cumsum()

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
一種優(yōu)雅的解決方案是
m = arr[0]
temp = np.tril(np.ones([m, m]))
new_arr = temp @ arr

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
逐行遍歷文件,并將當(dāng)前行的值加上結(jié)果數(shù)組中前一個(gè)元素的值。我不是 numpy 數(shù)組的專家,但這樣的東西適用于標(biāo)準(zhǔn)列表
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貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
這不是最優(yōu)雅的解決方案,但像這樣的方法會(huì)起作用:
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)
添加回答
舉報(bào)