python 計算標準差
numpy.std() 求標準差的時候默認是除以 n 的,即是有偏的,np.std無偏樣本標準差方式為加入?yún)?shù) ddof = 1;
pandas.std() 默認是除以n-1 的,即是無偏的,如果想和numpy.std() 一樣有偏,需要加上參數(shù)ddof=0 ,即pandas.std(ddof=0) ;DataFrame的describe()中就包含有std();
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.std(a, ddof = 1)
3.0276503540974917
>>> np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1))
3.0276503540974917
>>> np.sqrt(( a.var() * a.size) / (a.size - 1))
3.0276503540974917
標簽: