python – 对数组中所有元素的范围内的求和元素

python – 对数组中所有元素的范围内的求和元素,第1张

概述我必须得到一个数组范围的总和.但是,数组范围需要从一个元素移动到另一个元素.例如,如果数组是1,2,3,4,5,6并且如果每两个元素需要添加,那么它应该添加1 2而不是2 3而不是3 4,依此类推. 我试过但没有得到正确的方法.我确信有一种pythonic方式可以做到这一点. 这是我尝试过的 data = np.arange(0,20,.3)for i in range (0,len(data) 我必须得到一个数组范围的总和.但是,数组范围需要从一个元素移动到另一个元素.例如,如果数组是1,2,3,4,5,6并且如果每两个元素需要添加,那么它应该添加1 2而不是2 3而不是3 4,依此类推.

我试过但没有得到正确的方法.我确信有一种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 – 对数组中所有元素的范围内的求和元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存