码迷,mamicode.com
首页 > 编程语言 > 详细

python计算均值方差

时间:2014-06-07 22:48:05      阅读:1623      评论:0      收藏:0      [点我收藏+]

标签:c   class   blog   code   a   com   

用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢?

我做了个实验,首先生成9百万个样本:

1
2
3
nlist=range(0,9000000)
nlist=[float(i)/1000000 for i in nlist]
N=len(nlist)

第二行是为了让样本小一点,否则从1加到9百万会溢出的。

自己实现,遍历数组来求均值方差:

1
2
3
4
5
6
7
sum1=0.0
sum2=0.0
for i in range(N):
    sum1+=nlist[i]
    sum2+=nlist[i]**2
mean=sum1/N
var=sum2/N-mean**2

用时5.3s

借助numpy的向量运算来求:

1
2
3
4
5
6
7
import numpy
narray=numpy.array(nlist)
sum1=narray.sum()
narray2=narray*narray
sum2=narray2.sum()
mean=sum1/N
var=sum2/N-mean**2

用时1.0s

结论:还是用numpy吧~毕竟针对性优化过就是不一样~

python计算均值方差,布布扣,bubuko.com

python计算均值方差

标签:c   class   blog   code   a   com   

原文地址:http://www.cnblogs.com/plwang1990/p/3774744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!