python – 对数组中所有元素的范围内的求和元素
发布时间:2020-12-20 11:08:42 所属栏目:Python 来源:网络整理
导读:我必须得到一个数组范围的总和.但是,数组范围需要从一个元素移动到另一个元素.例如,如果数组是1,2,3,4,5,6并且如果每两个元素需要添加,那么它应该添加1 2而不是2 3而不是3 4,依此类推. 我试过但没有得到正确的方法.我确信有一种pythonic方式可以做到这一点.
我必须得到一个数组范围的总和.但是,数组范围需要从一个元素移动到另一个元素.例如,如果数组是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 sum window = 2 moving_sum = data_cumsum[window:] - data_cumsum[:-window] print(moving_sum) 输出: [ 3 5 7 9 11] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |