运行 循环数据的均值:平均值和标准差?
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)
只需移动平均线即可:
给定这样一个列表:
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)
只需移动平均线即可: