python计算均值方差

用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

时间: 2024-10-12 19:46:10

python计算均值方差的相关文章

C语言之文件操作07——读取文件数据并计算均值方差标准差

//文件 /* =============================================================== 题目:从文本文件"high.txt"中取出运动员的身高数据,并计算平均值,方差和标准差! =============================================================== */ #include<stdio.h> #include <math.h> #define hh pr

数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声

图像产生加性零均值高斯噪声,在灰度图上加上噪声,加上噪声的方式是每个点的灰度值加上一个噪声值,噪声值的产生方式为Box-Muller算法生成高斯噪声. 在计算机模拟中,经常需要生成正态分布的数值.最基本的一个方法是使用标准的正态累积分布函数的反函数.除此之外还有其他更加高效的方法,Box-Muller变换就是其中之一.另一个更加快捷的方法是ziggurat算法.下面将介绍这两种方法.一个简单可行的并且容易编程的方法是:求12个在(0,1)上均匀分布的和,然后减6(12的一半).这种方法可以用在很

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

C++ - Vector 计算 均值(mean) 和 方差(variance)

Vector 计算 均值(mean) 和 方差(variance) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24623187 vector<>类型的数组, 计算均值和方差的最简方法. 代码: double sum = std::accumulate(std::begin(resultSet), std::end(resultSet), 0.0); double mean = sum / resultSet.size()

数学之路-python计算实战(18)-机器视觉-滤波去噪(双边滤波与高斯滤波 )

高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到.高斯滤波的具体操作是:用一个模板(或称卷积.掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值. #滤波去噪 lbimg=cv2.GaussianBlur(newimg,(3,3),1.8) cv2.imshow('src',newimg) cv2.imshow('dst',lbimg) cv2.waitKey() cv2.destroyAllW

均值方差斜度峭度

参考『http://stat-design.blogspot.sg/search?updated-min=2011-01-01T00:00:00-06:00&updated-max=2012-01-01T00:00:00-06:00&max-results=4』 We know that the Mean gives us the central tendency of the data, the Standard Deviation explains the dispersion abo

200229(matlab的读文件夹,字符串分割,F1的实现,excel写入加减形式均值方差)

批量读入文件夹文件并保存相应处理完后的结果 filePath = fullfile('E:\...'); %引号内是需要遍历的路径,填绝对路径,然后保存在fileFolderdirOutput = dir(fullfile(filePath,'*.mat')); %读取相应后缀文件fileNames = {dirOutput.name}; %取出其中的文件名属性all_accFile = fileNames(strncmp("all",fileNames,3)); % 根据文件名前三个

Python计算斐波那契数列

利用Python计算第一个达到一百万位数的斐波那契数列各位数之和 结果为4501552 以下是我用到的代码,不是中间需要一些人工操作来加快收敛性,有兴趣读者可以写代码加快收敛 首先执行这个,可以大致确定一百万个数所在斐波那契序列的位置 i=1 j=1 k=i+j count=3 while count<4850000: i=j j=k k=i+j count+=1 result=str(k) print('k长度') k_len=len(result) print(k_len) sum=0 fo

数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

# -*- coding: utf-8 -*- #code:[email protected] #邻域平均法滤波,半径为2 import cv2 import numpy as np fn="test3.jpg" myimg=cv2.imread(fn) img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY) #加上椒盐噪声 param=20 #灰阶范围 w=img.shape[1] h=img.shape[0] newimg=np.array(img)