gpt4 book ai didi

python - Numpy中快速计算大数集标准差的方法

转载 作者:行者123 更新时间:2023-11-28 23:05:50 24 4
gpt4 key购买 nike

最好(最快)的方法是什么?

question

这会生成我认为是正确答案的结果,但显然在 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)

最佳答案

你做了一个不错的尝试,但应该确保你理解这一点并且不要明确复制,因为这是硬件

import numpy as np
N = int(1e6)
a = np.random.uniform(-5,5,size=(N,))
standard_deviation = np.std(a)

这假设您可以使用像 numpy 这样的包(您将其标记为这样)。如果可以的话,有一大堆方法可以让您创建数据数组并对其进行操作,从而避免显式循环(这是在幕后以一种高效的方式完成的)。最好查看文档以了解哪些功能可用以及如何使用它们:

http://docs.scipy.org/doc/numpy/reference/index.html

关于python - Numpy中快速计算大数集标准差的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5640452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com