python方差函數(shù),Python方差

用python求數(shù)據(jù)表中數(shù)據(jù)的均值與方差

以下為代碼:

創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為遂川企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,遂川網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

numstr = input("請(qǐng)輸入全部數(shù)據(jù):用英文逗號(hào)(,),中文逗號(hào)(,),\

空格( ),制表符(tab鍵)或換行(請(qǐng)一次性復(fù)制過(guò)來(lái))中的一種統(tǒng)一分隔數(shù)據(jù):")

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("已過(guò)濾字符串:%s"%i)

#好了,上面很多只是方便用戶(hù)而已(但還是有一些有用的),主要是下面

numlist = list(map(lambda x:float(x), numlist))#所有字符串轉(zhuǎn)為浮點(diǎn)

print("最終數(shù)列:",numlist)#輸出最終數(shù)列,進(jìn)行核對(duì)

average = sum(numlist)/len(numlist)#用數(shù)列和除以出列長(zhǎng)度得到平均數(shù)

variance = 0#方差,先記為0

for i in numlist:#遍歷列表

variance += (i - average) ** 2#反正就是公式對(duì)吧,先加進(jìn)去

variance /= len(numlist)#還是公式,那一長(zhǎng)串還得除以一個(gè)數(shù)列長(zhǎng)度

print("均值:%.2f\n方差:%.2f"%(average, variance))#分兩行輸出

以下為輸出效果:

請(qǐng)輸入全部數(shù)據(jù):用英文逗號(hào)(,),中文逗號(hào)(,),空格( ),制表符(tab鍵)或換行(請(qǐng)一次性復(fù)制過(guò)來(lái))中的一種統(tǒng)一分隔數(shù)據(jù):38,22,99,10,99,7, 25,,40

已過(guò)濾字符串:

最終數(shù)列: [38.0, 22.0, 99.0, 10.0, 99.0, 7.0, 25.0, 40.0]

均值:42.50

方差:1181.75

以下為解析:

平均值的思路就是總和除以列表長(zhǎng)度,方差的思路就是把所有的(x-均值)2加起來(lái),最后再除以一個(gè)長(zhǎng)度即可。

本程序的優(yōu)點(diǎn):輸入時(shí)逗號(hào)后出現(xiàn)空格與不小心多打逗號(hào)等情況都不會(huì)出問(wèn)題,可以接受小數(shù),可以先輸出最終數(shù)列以供核對(duì)。

python編程統(tǒng)計(jì)列表中各數(shù)據(jù)的方差和標(biāo)準(zhǔn)差請(qǐng)編寫(xiě)主函數(shù)和計(jì)算方差的函數(shù)var。(不能引用庫(kù)里)

def fangcha(): a=float(raw_input("請(qǐng)輸入a:")) b=float(raw_input("請(qǐng)輸入b:")) c=float(raw_input("請(qǐng)輸入C:")) d=(a+b+c)/3.0 e=((a-d)**2+(b-d)**2+(c-d)**2)/3.0 print "平均數(shù)是:%f方差是:%f" %(d,e) fangcha() Python2.7可用

Python基礎(chǔ) numpy中的常見(jiàn)函數(shù)有哪些

有些Python小白對(duì)numpy中的常見(jiàn)函數(shù)不太了解,今天小編就整理出來(lái)分享給大家。

Numpy是Python的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。其實(shí),list已經(jīng)提供了類(lèi)似于矩陣的表示形式,不過(guò)numpy為我們提供了更多的函數(shù)。

數(shù)組常用函數(shù)

1.where()按條件返回?cái)?shù)組的索引值

2.take(a,index)從數(shù)組a中按照索引index取值

3.linspace(a,b,N)返回一個(gè)在(a,b)范圍內(nèi)均勻分布的數(shù)組,元素個(gè)數(shù)為N個(gè)

4.a.fill()將數(shù)組的所有元素以指定的值填充

5.diff(a)返回?cái)?shù)組a相鄰元素的差值構(gòu)成的數(shù)組

6.sign(a)返回?cái)?shù)組a的每個(gè)元素的正負(fù)符號(hào)

7.piecewise(a,[condlist],[funclist])數(shù)組a根據(jù)布爾型條件condlist返回對(duì)應(yīng)元素結(jié)果

8.a.argmax(),a.argmin()返回a最大、最小元素的索引

改變數(shù)組維度

a.ravel(),a.flatten():將數(shù)組a展平成一維數(shù)組

a.shape=(m,n),a.reshape(m,n):將數(shù)組a轉(zhuǎn)換成m*n維數(shù)組

a.transpose,a.T轉(zhuǎn)置數(shù)組a

數(shù)組組合

1.hstack((a,b)),concatenate((a,b),axis=1)將數(shù)組a,b沿水平方向組合

2.vstack((a,b)),concatenate((a,b),axis=0)將數(shù)組a,b沿豎直方向組合

3.row_stack((a,b))將數(shù)組a,b按行方向組合

4.column_stack((a,b))將數(shù)組a,b按列方向組合

數(shù)組分割

1.split(a,n,axis=0),vsplit(a,n)將數(shù)組a沿垂直方向分割成n個(gè)數(shù)組

2.split(a,n,axis=1),hsplit(a,n)將數(shù)組a沿水平方向分割成n個(gè)數(shù)組

數(shù)組修剪和壓縮

1.a.clip(m,n)設(shè)置數(shù)組a的范圍為(m,n),數(shù)組中大于n的元素設(shè)定為n,小于m的元素設(shè)定為m

2.a.compress()返回根據(jù)給定條件篩選后的數(shù)組

數(shù)組屬性

1.a.dtype數(shù)組a的數(shù)據(jù)類(lèi)型

2.a.shape數(shù)組a的維度

3.a.ndim數(shù)組a的維數(shù)

4.a.size數(shù)組a所含元素的總個(gè)數(shù)

5.a.itemsize數(shù)組a的元素在內(nèi)存中所占的字節(jié)數(shù)

6.a.nbytes整個(gè)數(shù)組a所占的內(nèi)存空間7.a.astype(int)轉(zhuǎn)換a數(shù)組的類(lèi)型為int型

數(shù)組計(jì)算

1.average(a,weights=v)對(duì)數(shù)組a以權(quán)重v進(jìn)行加權(quán)平均

2.mean(a),max(a),min(a),middle(a),var(a),std(a)數(shù)組a的均值、最大值、最小值、中位數(shù)、方差、標(biāo)準(zhǔn)差

3.a.prod()數(shù)組a的所有元素的乘積

4.a.cumprod()數(shù)組a的元素的累積乘積

5.cov(a,b),corrcoef(a,b)數(shù)組a和b的協(xié)方差、相關(guān)系數(shù)

6.a.diagonal()查看矩陣a對(duì)角線(xiàn)上的元素7.a.trace()計(jì)算矩陣a的跡,即對(duì)角線(xiàn)元素之和

以上就是numpy中的常見(jiàn)函數(shù)。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。

Python3 for循環(huán)求方差函數(shù)問(wèn)題

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))

我這邊測(cè)試表示沒(méi)有問(wèn)題

分享標(biāo)題:python方差函數(shù),Python方差
分享URL:http://muchs.cn/article6/hcpiog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google做網(wǎng)站、虛擬主機(jī)、企業(yè)建站網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)