python如何计算数组中每行数据的前五行平均值?
例如一个100X1行的数组,我如何计算每行数据对应的前5行数据的均值
# -*- coding: UTF-8 -*-
arr = [3,4,1,6,4,2,5,4,1,3,0,8,7,5,4,5,8,6,7,2,4,10,0,9,2,6,1,5,1,10, ... ] #你的数据
result = []
sum = 0
for i in range(len(arr)):
if i < 5:
sum = sum + arr[i]
result.append(sum * 1.0 / (i + 1))
else:
sum = sum + arr[i] - arr[i - 5]
result.append(sum * 1.0 / 5)
print(result)
输出
[3.0, 3.5, 2.6666666666666665, 3.5, 3.6, 3.4, 3.6, 4.2, 3.2, 3.0, 2.6, 3.2, 3.8, 4.6, 4.8, 5.8, 5.8, 5.6, 6.0, 5.6, 5.4, 5.8, 4.6, 5.0, 5.0, 5.4, 3.6, 4.6, 3.0, 4.6, ... ]