【发布时间】:2019-01-11 09:50:50
【问题描述】:
我正在尝试将由 100 个元素组成的数组拆分为小数组,每个小数组有 10 个元素并计算它们的平均值(每个小数组的平均值)。我的问题是每次我想移动两个元素时,我在下一个代码中所做的是否正确?
Avg_Arr=[sum(Signal[k:k+10])/10 for k in range(0,N,2)]
更准确地说,如果我的数组如下
Array=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 .....]
我的第一个小数组是
My_Array1=[0 1 2 3 4 5 6 7 8 9]
==> 平均值为 (0+1+2+3+4+5+6+7+8+9)/10
而我的第二个一定是
My_Array2=[2 3 4 5 6 7 8 9 10 11]
【问题讨论】:
-
我们不知道
N是什么,但我假设它是您的大数组的大小。为什么不for k in range(0, N - 10, 2)? -
是的,为什么我需要添加-10?
-
在
range的末尾,(假设 N=100)你会得到 k=..., 94, 96, 98。现在猜猜sum(Signal[k:k+10])/10会计算什么到。 :-)
标签: python arrays split average