运行 循环数据的均值:平均值和标准差?

Running Mean of Circular Data: Average and Standard Deviation?

给定这样一个列表:

mylist = [1, 2, 3, 4, 5, 6, 7]

N = 3作为运行的大小,每一步均值。

计算此列表的平均值和标准偏差的最快方法是什么?

如果只是平均值 np.convolve 就可以完成这项工作,但是标准偏差呢?还是标准错误?

import numpy as np

mylist = [1, 2, 3, 4, 5, 6, 7]
double = mylist * 2
N = 3
mean_std = [(np.mean(double[i:i+N]), np.std(double[i:i+N])) for i in range(len(mylist))]

尝试:

import numpy as np
N=3
mylist = [1, 2, 3, 4, 5, 6, 7]

res=np.vstack([mylist[i:]+mylist[:i] for i in range(N)])

ma=res.mean(axis=0)
std=res.std(axis=0)

只需移动平均线即可: