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