python編程 如何用python計(jì)算方差,平均值?
如何用python計(jì)算方差,平均值?Python來(lái)計(jì)算均值和方差,用Python來(lái)計(jì)算均值和方差,你可以寫(xiě),你也可以用numpy,但是哪個(gè)更快?我做了個(gè)實(shí)驗(yàn)。首先,我生成了900萬(wàn)個(gè)樣本:nlist=
如何用python計(jì)算方差,平均值?
Python來(lái)計(jì)算均值和方差,用Python來(lái)計(jì)算均值和方差,你可以寫(xiě),你也可以用numpy,但是哪個(gè)更快?我做了個(gè)實(shí)驗(yàn)。首先,我生成了900萬(wàn)個(gè)樣本:nlist=range(09000000)nlist=[float(I)/1000000 for innlist]n=len(nlist)。第二行是把樣本縮小,否則會(huì)從100萬(wàn)溢出到900萬(wàn)。自我實(shí)現(xiàn),遍歷數(shù)組以查找平均方差:sum1=0.0sum2=0.0foriiinrange(n):sum1=nlist[i]sum2=nlist[i]**2Mean=sum1/NVAR=sum2/n-mean**2需要5.3s,借助numpy向量運(yùn)算來(lái)查找:importnumpyarray=numpy.數(shù)組(nlist)sum1=narray.sum公司()narray2=narray*narraysum2=narray2。Sum()mean=sum1/NVAR=sum2/n-mean**2取1.0s
Python如何初始化列表?
在Python中,如果我們提前知道列表的長(zhǎng)度,如果我們提前初始化列表的長(zhǎng)度,然后給每個(gè)列表賦值,這將比每次使用它更容易列表.append()效率更高。接下來(lái),介紹兩種初始化列表的方法:
如果要過(guò)濾掉序列中不必要的元素,可以使用列表派生,如下
def MA(x,y):
“””
自定義函數(shù)“MA(x,y)”指南
函數(shù)格式:MA(x,y)
函數(shù):查找簡(jiǎn)單平均值序列數(shù)據(jù)x的Y周期的值,并且輸出值是序列平均值,即列表。
函數(shù)使用示例:
#輸入:
l=[1,2,3,4,5
]MA(l,3)
?輸出:
][2.0,3.0,4.0
]?輸出注釋?zhuān)?/p>
(1,2,3)/3=2.0
](2,3,4)/3=3.0
(3,4,5)/3=4.0
“”“
如果isinstance(x,STR):
打?。ā钡谝粋€(gè)參數(shù)不能是字符串!“)
elif isinstance(y,int)和y>0 and Len(x)>=y:
x=list(x)
l=
]z=[x[I:I,y]表示范圍(0,Len(x)-y1,1)中的I
]表示范圍(0,Len(x)-y1)中的I:
l.append(sum(z[I][0:y1])/y)
return l
else:
如果isinstance(x,list)==false:
打?。ā闭?qǐng)輸入列表、數(shù)組或元組!“)
如果isinstance(y,int)==false或y<=0:
print(”錯(cuò)誤提示:第二個(gè)參數(shù)應(yīng)該是正整數(shù)!“)
如果len(x)<;Y:
print(”錯(cuò)誤提示:第二個(gè)參數(shù)的值應(yīng)小于或等于第一個(gè)參數(shù)中的元素?cái)?shù)!“)
打印([0代表范圍(0,y)中的i)]
打?。╗None代表范圍(0,y)中的i)]
打?。╨ist())