Python 如何将数组拆分为包含10个元素的小数组,并每次移动2个元素?

Python 如何将数组拆分为包含10个元素的小数组,并每次移动2个元素?,python,arrays,split,average,Python,Arrays,Split,Average,我试图将由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

我试图将由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]
这应该是有效的:

Signal=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
N = len(Signal)
Avg_Arr=[sum(Signal[k:k+10])/10 for k in range(0, N-10, 2)]
print(Avg_Arr)
请注意,您必须从末尾停止10个元素。否则,平均值不会超过10个元素。

这应该可以:

Signal=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
N = len(Signal)
Avg_Arr=[sum(Signal[k:k+10])/10 for k in range(0, N-10, 2)]
print(Avg_Arr)

请注意,您必须从末尾停止10个元素。否则,您的平均值不会超过10个元素。

我们不知道
N
是什么,但我假设它是您的大数组的大小。为什么不在范围(0,N-10,2)中为k添加
?是的,这就是为什么我需要添加-10?在
范围的末尾(假设N=100),您将得到k=…,94,96,98。现在猜测一下
sum(信号[k:k+10])/10
的计算结果是什么。:-)我们不知道
N
是什么,但我假设它是您的大数组的大小。为什么不在范围(0,N-10,2)中为k添加
?是的,这就是为什么我需要添加-10?在
范围的末尾(假设N=100),您将得到k=…,94,96,98。现在猜测一下
sum(信号[k:k+10])/10
的计算结果是什么。:-)