python算方差函数 python中计算方差

2 如何用Python进行数据计算numpy计算平均数 标准差 相关系数等基本知识
NumPy 是python 语言的一个第三方库 , 其支持大量高维度数组与矩阵运算 。此外,NumPy 也针对数组运算提供大量的数学函数 。
#导入Numpy库,并命名为np
import numpy as np
#创建一维数组
a = np.array([1, 2, 3])
# NumPy可以很方便地创建连续数组 , 比如我使用arange或linspace函数进行创建:
b = np.arange(1,5,1) // 返回一个有终点和起点、固定步长的排列,如起点是1,终点是4,步长为1,即【1,2,3,4】,
c = np.linspace(1,9,5) 返回一个有终点和起点、元素个数的的排列,如起点是1,终点是9,元素个数为5,即【1,3,5,7,9】
#通过NumPy可以自由地创建等差数组,同时也可以进行加、减、乘、除、求n次方和取余数 。
求和:np.sum(a)
求取平均值:np.mean(a)
求取中位数:np.median(a)
求取加权平均数:np.average(a)
求取方差:var() np.var(a)
求取最小值:np.amin(a)
求取最大值:np.amax(a)
将两个数相加:np.add(x1, x2)
将两个数相减:np.subtract(x1, x2)
将两个数相乘:np.multiply(x1, x2)
将两个数相除:np.divide(x1, x2)
立方:np.power(x1, x2)
除余:np.remainder(x1, x2)
相关系数计算:np.corrcoef(a1, a2) (a1、a2都是矩阵)
用Python怎么算Mean和standard deviation可以用numpy模块实现:
import numpy
def cal_mean_std(sum_list_in):
# type: (list) - tuple
N = sum_list_in.__len__()
narray = numpy.array(sum_list_in)
sum = narray.sum()
mean = sum / N
narray_dev = narray - mean
narray_dev = narray_dev * narray_dev
sum_dev = narray_dev.sum()
DEV = float(sum_dev) / float(N)
STDEV = numpy.math.sqrt(DEV)
print "mean:", mean, "; DEV:", DEV, "; STDEV:", STDEV
return mean, DEV, STDEV
均值为mean,方差为DEV,标准差是STDEV
传入数据是一个list:sum_list_in
Python3 for循环求方差函数问题def get_fanc(a):
b,c,d=0,0,0
print(type(a))
e=len(a)
f=sum(a)
b=f/e
for i in a:
c=c+(i-b)
c=c/b
return c
test = [1,2,3]
print(get_fanc(test))
我这边测试表示没有问题
python编程统计列表中各数据的方差和标准差请编写主函数和计算方差的函数var 。(不能引用库里)def fangcha(): a=float(raw_input("请输入a:")) b=float(raw_input("请输入b:")) c=float(raw_input("请输入C:")) d=(a+b+c)/3.0 e=((a-d)**2+(b-d)**2+(c-d)**2)/3.0 print "平均数是:%f方差是:%f" %(d,e) fangcha() Python2.7可用
如何用python算方差用python算方差可以借助numpypython算方差函数的向量运算来求更快速python算方差函数:
import numpy
narray=numpy.array(nlist)
sum1=narray.sum()
narray2=narray*narray
sum2=narray2.sum()
mean=sum1/N
var=sum2/N-mean**2
用python求数据表中数据的均值与方差以下为代码:
numstr = input("请输入全部数据:用英文逗号(,),中文逗号(,),\
空格( ),制表符(tab键)或换行(请一次性复制过来)中的一种统一分隔数据:")
if "," in numstr:
numlist = numstr.split(",")
elif "," in numstr:
numlist = numstr.split(" , ")
elif "\t" in numstr:
numlist = numstr.split("\t")
elif "\n" in numstr:
numlist = numstr.split("\n")
elif " " in numstr:
numlist = numstr.split(" ")
else:
numlist = [numstr]
numlist = list(map(lambda x:x.strip(",").strip(",").\
strip("\t").strip("\n").strip(" "), numlist))
for i in numlist.copy():
try:
a = float(i)
except:
numlist.remove(i)
print("已过滤字符串:%s"%i)

推荐阅读