一、mean() 函數定義:
numpy.mean(a, axis, dtype, out,keepdims )
mean()函數功能:求取均值
經常操作的參數為axis,以m * n矩陣舉例:
- axis 不設置值,對 m*n 個數求均值,返回一個實數
- axis = 0:壓縮行,對各列求均值,返回 1* n 矩陣
- axis =1 :壓縮列,對各行求均值,返回 m *1 矩
import numpy as np a = np.array([[1, 2], [3, 4]]) print(a) print(type(a)) print(np.mean(a)) print(np.mean(a, axis=0)) # axis=0,計算每一列的均值 print(np.mean(a, axis=1)) # axis = 1計算每一行的均值
output:
[[1 2] [3 4]] <class 'numpy.ndarray'> 2.5 [2. 3.] [1.5 3.5]
二、numpy.
std
(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>)
這個函數是用來求標准差的。axis=0時,表示求每一列標准差,axis=1時,表示求每一行標准差,當axis=None時,表示求全局標准差。
其次numpy計算的為總體標准偏差,即當ddof=0時,計算有偏樣本標准差;一般在擁有所有數據的情況下,計算所有數據的標准差時使用,即最終除以n。
當ddo = 1時,表示計算無偏樣本標准差,最終除以n-1
import numpy as np a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) pian = np.std(a, ddof = 0) # 有偏 print("std有偏計算結果:",pian) orig = np.sqrt(((a - np.mean(a)) ** 2).sum() / a.size) print("有偏公式計算結果:",orig) no_pian = np.std(a, ddof = 1) # 無偏 print("std無偏計算結果:",no_pian) orig1 = np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1)) print("無偏公式計算結果:",orig1)
output:
std有偏計算結果: 2.8722813232690143 有偏公式計算結果: 2.8722813232690143 std無偏計算結果: 3.0276503540974917 無偏公式計算結果: 3.0276503540974917