python计算方差函数 python编写计算方差的函数

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计算方差函数 python编写计算方差的函数】我这边测试表示没有问题
用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)
#好了,上面很多只是方便用户而已(但还是有一些有用的),主要是下面
numlist = list(map(lambda x:float(x), numlist))#所有字符串转为浮点
print("最终数列:",numlist)#输出最终数列,进行核对
average = sum(numlist)/len(numlist)#用数列和除以出列长度得到平均数
variance = 0#方差,先记为0
for i in numlist:#遍历列表
variance += (i - average) ** 2#反正就是公式对吧 , 先加进去
variance /= len(numlist)#还是公式,那一长串还得除以一个数列长度
print("均值:%.2f\n方差:%.2f"%(average, variance))#分两行输出
以下为输出效果:
请输入全部数据:用英文逗号(,),中文逗号(,),空格( ),制表符(tab键)或换行(请一次性复制过来)中的一种统一分隔数据:38,22,99,10,99,7, 25,,40
已过滤字符串:
最终数列: [38.0, 22.0, 99.0, 10.0, 99.0, 7.0, 25.0, 40.0]
均值:42.50
方差:1181.75
以下为解析:
平均值的思路就是总和除以列表长度,方差的思路就是把所有的(x-均值)2加起来,最后再除以一个长度即可 。
本程序的优点:输入时逗号后出现空格与不小心多打逗号等情况都不会出问题,可以接受小数,可以先输出最终数列以供核对 。
Python数据分析之方差分析设某苗圃对一花木种子制定了5种不同的处理方法,每种方法处理了6粒种子进行育苗试验 。一年后观察苗高获得资料如下表 。已知除处理方法不同外,其他育苗条件相同且苗高的分布近似于正态、等方差 , 试以95%的可靠性判断种子的处理方法对苗木生长是否有显著影响 。
可以把数据转化为如下格式 , 方便在python的方差分析中运行:
结果如图:
查表得F0.05(4,25)=2.76,因为F=Sb2/Sw2=4.38﹥F0.05(4,25)=2.76,所以推翻(或者说拒绝)假设H0,即不同的处理方法造成了苗木高生长的差异显著 。
如何用python算方差 借助numpy的向量运算更快速用python算方差可以借助numpy的向量运算来求更快速:
import numpy
narray=numpy.array(nlist)
sum1=narray.sum()
narray2=narray*narray
sum2=narray2.sum()
mean=sum1/N
var=sum2/N-mean**2
2 如何用Python进行数据计算numpy计算平均数 标准差 相关系数等基本知识
NumPy 是python 语言的一个第三方库,其支持大量高维度数组与矩阵运算 。此外,NumPy 也针对数组运算提供大量的数学函数 。
#导入Numpy库,并命名为np
import numpy as np
#创建一维数组

推荐阅读