我试过但没有得到正确的方法.我确信有一种pythonic方式可以做到这一点.
这是我尝试过的
data = np.arange(0,20,.3)for i in range (0,len(data)): for j in range(i,len(data)): get_range = data[j:5] get_add = get_range.sum() print("sum:",get_add)
我试图在这里添加每5个元素.
解决方法 有一种numpyic方式来做到这一点.如果输入数据很大,那么它的内存和cpu效率会更高.import numpy as np# input array: [1,6]data = np.arange(1,7)# cumulative sum: [1,6,10,15,21]data_cumsum = np.cumsum(data)# append zero to start: [0,1,21]data_cumsum = np.hstack([0,data_cumsum])# calculate moving sumwindow = 2moving_sum = data_cumsum[window:] - data_cumsum[:-window]print(moving_sum)
输出:
[ 3 5 7 9 11]总结
以上是内存溢出为你收集整理的python – 对数组中所有元素的范围内的求和元素全部内容,希望文章能够帮你解决python – 对数组中所有元素的范围内的求和元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)