快速计算在Numpy中设置的大数标准差的方法
||
最好(最快)的方法是什么?
这产生了我认为是正确的答案,但是显然在N = 10e6时,它的速度很慢。我认为我需要保留Xi值,以便可以正确计算标准偏差,但是是否有任何技术可以使运行速度更快?
def randomInterval(a,b):
r = ((b-a)*float(random.random(1)) + a)
return r
N = 10e6
Sum = 0
x = []
for sample in range(0,int(N)):
n = randomInterval(-5.,5.)
while n == 5.0:
n = randomInterval(-5.,5.) # since X is [-5,5)
Sum += n
x = np.append(x, n)
A = Sum/N
for sample in range(0,int(N)):
summation = (x[sample] - A)**2.0
standard_deviation = np.sqrt((1./N)*summation)
没有找到相关结果
已邀请:
2 个回复
瞥同忙接
假设您可以使用numpy之类的软件包(已将其标记为此类)。如果可以的话,有很多方法可以让您在数据数组上创建和执行操作,从而避免显式循环(这是在后台高效完成的)。最好看一下文档,以了解可用的功能以及如何使用它们: http://docs.scipy.org/doc/numpy/reference/index.html
俺呵誓放胳