gpt4 book ai didi

python - 单个函数的 Numpy 均值和方差?

转载 作者:IT老高 更新时间:2023-10-28 20:53:44 25 4
gpt4 key购买 nike

使用 Numpy/Python,是否可以从单个函数调用中返回均值和方差?

我知道我可以分开做,但是计算样本标准差需要平均值。因此,如果我使用单独的函数来获取均值和方差,则会增加不必要的开销。

我已尝试查看此处的 numpy 文档 (http://docs.scipy.org/doc/numpy/reference/routines.statistics.html),但没有成功。

最佳答案

您不能将已知平均值传递给 np.stdnp.var,您必须等待 new standard library statistics module ,但与此同时,您可以使用以下公式节省一点时间:

In [329]: a = np.random.rand(1000)

In [330]: %%timeit
.....: a.mean()
.....: a.var()
.....:
10000 loops, best of 3: 80.6 µs per loop

In [331]: %%timeit
.....: m = a.mean()
.....: np.mean((a-m)**2)
.....:
10000 loops, best of 3: 60.9 µs per loop

In [332]: m = a.mean()

In [333]: a.var()
Out[333]: 0.078365856465916137

In [334]: np.mean((a-m)**2)
Out[334]: 0.078365856465916137

如果您真的想加快速度,请尝试 np.dot 进行平方和求和(因为这就是点积):

In [335]: np.dot(a-m,a-m)/a.size
Out[335]: 0.078365856465916137

In [336]: %%timeit
.....: m = a.mean()
.....: c = a-m
.....: np.dot(c,c)/a.size
.....:
10000 loops, best of 3: 38.2 µs per loop

关于python - 单个函数的 Numpy 均值和方差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19391149/

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