def fangcha():
創(chuàng)新互聯(lián)建站主營額敏網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,額敏h5微信平臺小程序開發(fā)搭建,額敏網(wǎng)站營銷推廣歡迎額敏等地區(qū)企業(yè)咨詢
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 "平均數(shù)是:%f方差是:%f" %(d,e)
fangcha()
Python2.7可用
有些Python小白對numpy中的常見函數(shù)不太了解,今天小編就整理出來分享給大家。
Numpy是Python的一個科學(xué)計算的庫,提供了矩陣運算的功能,其一般與Scipy、matplotlib一起使用。其實,list已經(jīng)提供了類似于矩陣的表示形式,不過numpy為我們提供了更多的函數(shù)。
數(shù)組常用函數(shù)
1.where()按條件返回數(shù)組的索引值
2.take(a,index)從數(shù)組a中按照索引index取值
3.linspace(a,b,N)返回一個在(a,b)范圍內(nèi)均勻分布的數(shù)組,元素個數(shù)為N個
4.a.fill()將數(shù)組的所有元素以指定的值填充
5.diff(a)返回數(shù)組a相鄰元素的差值構(gòu)成的數(shù)組
6.sign(a)返回數(shù)組a的每個元素的正負(fù)符號
7.piecewise(a,[condlist],[funclist])數(shù)組a根據(jù)布爾型條件condlist返回對應(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個數(shù)組
2.split(a,n,axis=1),hsplit(a,n)將數(shù)組a沿水平方向分割成n個數(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ù)類型
2.a.shape數(shù)組a的維度
3.a.ndim數(shù)組a的維數(shù)
4.a.size數(shù)組a所含元素的總個數(shù)
5.a.itemsize數(shù)組a的元素在內(nèi)存中所占的字節(jié)數(shù)
6.a.nbytes整個數(shù)組a所占的內(nèi)存空間7.a.astype(int)轉(zhuǎn)換a數(shù)組的類型為int型
數(shù)組計算
1.average(a,weights=v)對數(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對角線上的元素7.a.trace()計算矩陣a的跡,即對角線元素之和
以上就是numpy中的常見函數(shù)。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
以下為代碼:
numstr = input("請輸入全部數(shù)據(jù):用英文逗號(,),中文逗號(,),\
空格( ),制表符(tab鍵)或換行(請一次性復(fù)制過來)中的一種統(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("已過濾字符串:%s"%i)
#好了,上面很多只是方便用戶而已(但還是有一些有用的),主要是下面
numlist = list(map(lambda x:float(x), numlist))#所有字符串轉(zhuǎn)為浮點
print("最終數(shù)列:",numlist)#輸出最終數(shù)列,進(jìn)行核對
average = sum(numlist)/len(numlist)#用數(shù)列和除以出列長度得到平均數(shù)
variance = 0#方差,先記為0
for i in numlist:#遍歷列表
variance += (i - average) ** 2#反正就是公式對吧,先加進(jìn)去
variance /= len(numlist)#還是公式,那一長串還得除以一個數(shù)列長度
print("均值:%.2f\n方差:%.2f"%(average, variance))#分兩行輸出
以下為輸出效果:
請輸入全部數(shù)據(jù):用英文逗號(,),中文逗號(,),空格( ),制表符(tab鍵)或換行(請一次性復(fù)制過來)中的一種統(tǒng)一分隔數(shù)據(jù):38,22,99,10,99,7, 25,,40
已過濾字符串:
最終數(shù)列: [38.0, 22.0, 99.0, 10.0, 99.0, 7.0, 25.0, 40.0]
均值:42.50
方差:1181.75
以下為解析:
平均值的思路就是總和除以列表長度,方差的思路就是把所有的(x-均值)2加起來,最后再除以一個長度即可。
本程序的優(yōu)點:輸入時逗號后出現(xiàn)空格與不小心多打逗號等情況都不會出問題,可以接受小數(shù),可以先輸出最終數(shù)列以供核對。
standard deviation:標(biāo)準(zhǔn)差 ,也稱均方差(mean square error),是各數(shù)據(jù)偏離平均數(shù)的距離的平均數(shù),它是離均差平方和平均后的方根,用σ表示。標(biāo)準(zhǔn)差是方差的算術(shù)平方根。標(biāo)準(zhǔn)差能反映一個數(shù)據(jù)集的離散程度。平均數(shù)相同的,標(biāo)準(zhǔn)差未必相同。
mean deviation:平均偏差是指單項測定值與平均值的偏差(取絕對值)之和,除以測定次數(shù)。它是代表一組測量值中任意數(shù)值的偏差。所以平均偏差不計正負(fù)。
文章標(biāo)題:python均方差函數(shù),python求方差函數(shù)
本文來源:http://chinadenli.net/article34/hddhse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計、Google、做網(wǎng)站、企業(yè)建站、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)