python3.2中沒(méi)有求預(yù)置標(biāo)準(zhǔn)差的函數(shù),只能掛載外庫(kù)或者自己寫(xiě)一個(gè)
網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
不需任何外庫(kù)
#樣本標(biāo)準(zhǔn)差
def
stdDeviation(a):
l=len(a)
m=sum(a)/l
d=0
for
i
in
a:
d+=(i-m)**2
return
(d*(1/l))**0.5
a=[5,6,8,9]
print(stdDeviation(a))
========
1.5811388300841898
std()函數(shù)就是初高中學(xué)的標(biāo)準(zhǔn)差 numpy.std()
求標(biāo)準(zhǔn)差的時(shí)候默認(rèn)是除以 n 的,即是有偏的,np.std無(wú)偏樣本標(biāo)準(zhǔn)差方式為加入?yún)?shù) ddof = 1
首先,普及一下pandas與numpy的區(qū)別:
pandas操作的數(shù)據(jù)集是Series,本質(zhì)上是列表與字典的混合,常用的數(shù)據(jù)形式為DataFrame;
numpy操作的數(shù)據(jù)集是數(shù)組或矩陣。
1、對(duì)數(shù)組求均值、方差、標(biāo)準(zhǔn)差
2、對(duì)矩陣求標(biāo)準(zhǔn)差
注意:在求標(biāo)準(zhǔn)差時(shí)需要注意幾個(gè)問(wèn)題:
1、在統(tǒng)計(jì)學(xué)中,標(biāo)準(zhǔn)差分為兩種:
(1)總體標(biāo)準(zhǔn)差:標(biāo)準(zhǔn)差公式根號(hào)內(nèi)除以n,是有偏的。
(2)樣本標(biāo)準(zhǔn)差:標(biāo)準(zhǔn)差公式根號(hào)內(nèi)除以n-1,是無(wú)偏的。
2、pandas與numpy在計(jì)算標(biāo)準(zhǔn)差時(shí)的區(qū)別
(1)numpy
? ? ?在numpy中計(jì)算標(biāo)準(zhǔn)差時(shí),括號(hào)內(nèi)要指定ddof的值,ddof表示自由度,當(dāng)ddof=0時(shí)計(jì)算的是總體標(biāo)準(zhǔn)差;當(dāng)ddof=1時(shí)計(jì)算的是樣本標(biāo)準(zhǔn)差,當(dāng)不為ddof設(shè)置值時(shí),其默認(rèn)為總體標(biāo)準(zhǔn)差。
(2)pandas
? ? ?在使用pandas計(jì)算標(biāo)準(zhǔn)差時(shí),其與numpy的默認(rèn)情況是相反的,在默認(rèn)情況下,pandas計(jì)算的標(biāo)準(zhǔn)差為樣本標(biāo)準(zhǔn)差。
numpy計(jì)算平均數(shù) 標(biāo)準(zhǔn)差 相關(guān)系數(shù)等基本知識(shí)
NumPy 是python 語(yǔ)言的一個(gè)第三方庫(kù),其支持大量高維度數(shù)組與矩陣運(yùn)算。此外,NumPy 也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)。
#導(dǎo)入Numpy庫(kù),并命名為np
import numpy as np
#創(chuàng)建一維數(shù)組
a = np.array([1, 2, 3])
# NumPy可以很方便地創(chuàng)建連續(xù)數(shù)組,比如我使用arange或linspace函數(shù)進(jìn)行創(chuàng)建:
b = np.arange(1,5,1) // 返回一個(gè)有終點(diǎn)和起點(diǎn)、固定步長(zhǎng)的排列,如起點(diǎn)是1,終點(diǎn)是4,步長(zhǎng)為1,即【1,2,3,4】,
c = np.linspace(1,9,5) 返回一個(gè)有終點(diǎn)和起點(diǎn)、元素個(gè)數(shù)的的排列,如起點(diǎn)是1,終點(diǎn)是9,元素個(gè)數(shù)為5,即【1,3,5,7,9】
#通過(guò)NumPy可以自由地創(chuàng)建等差數(shù)組,同時(shí)也可以進(jìn)行加、減、乘、除、求n次方和取余數(shù)。
求和:np.sum(a)
求取平均值:np.mean(a)
求取中位數(shù):np.median(a)
求取加權(quán)平均數(shù):np.average(a)
求取方差:var() np.var(a)
求取最小值:np.amin(a)
求取最大值:np.amax(a)
將兩個(gè)數(shù)相加:np.add(x1, x2)
將兩個(gè)數(shù)相減:np.subtract(x1, x2)
將兩個(gè)數(shù)相乘:np.multiply(x1, x2)
將兩個(gè)數(shù)相除:np.divide(x1, x2)
立方:np.power(x1, x2)
除余:np.remainder(x1, x2)
相關(guān)系數(shù)計(jì)算:np.corrcoef(a1, a2) (a1、a2都是矩陣)
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可用
standard deviation:標(biāo)準(zhǔn)差 ,也稱均方差(mean square error),是各數(shù)據(jù)偏離平均數(shù)的距離的平均數(shù),它是離均差平方和平均后的方根,用σ表示。標(biāo)準(zhǔn)差是方差的算術(shù)平方根。標(biāo)準(zhǔn)差能反映一個(gè)數(shù)據(jù)集的離散程度。平均數(shù)相同的,標(biāo)準(zhǔn)差未必相同。
mean deviation:平均偏差是指單項(xiàng)測(cè)定值與平均值的偏差(取絕對(duì)值)之和,除以測(cè)定次數(shù)。它是代表一組測(cè)量值中任意數(shù)值的偏差。所以平均偏差不計(jì)正負(fù)。