开发者社区> 问答> 正文

python怎么求均值

python怎么求均值

展开
收起
云计算小粉 2018-05-10 20:11:03 4571 0
2 条回答
写回答
取消 提交回答
  • image.png

    2019-11-26 15:42:04
    赞同 展开评论 打赏
  • 用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢?

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

    nlist=range(0,9000000)
    nlist=[float(i)/1000000 for i in nlist]
    N=len(nlist)
    第二行是为了让样本小一点,否则从1加到9百万会溢出的。

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

    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的向量运算来求:

    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吧~毕竟针对性优化过就是不一样~

    2019-07-17 22:24:56
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载