NumPy 統計函數
NumPy 提供了很多統計函數,用於從數組中查找最小元素,最大元素,百分位標準差和方差等。 函數說明如下:
numpy.amin() 和 numpy.amax()
numpy.amin() 用於計算數組中的元素沿指定軸的最小值。
numpy.amax() 用於計算數組中的元素沿指定軸的最大值。
實例
輸出結果為:
我們的數組是: [[3 7 5] [8 4 3] [2 4 9]] 調用 amin() 函數: [3 3 2] 再次調用 amin() 函數: [2 4 3] 調用 amax() 函數: 9 再次調用 amax() 函數: [8 7 9]
numpy.ptp()
numpy.ptp()函數計算數組中元素最大值與最小值的差(最大值 - 最小值)。
實例
輸出結果為:
我們的數組是: [[3 7 5] [8 4 3] [2 4 9]] 調用 ptp() 函數: 7 沿軸 1 調用 ptp() 函數: [4 5 7] 沿軸 0 調用 ptp() 函數: [6 3 6]
numpy.percentile()
百分位數是統計中使用的度量,表示小於這個值的觀察值的百分比。 函數numpy.percentile()接受以下參數。
numpy.percentile(a, q, axis)
參數說明:
- a: 輸入數組
- q: 要計算的百分位數,在 0 ~ 100 之間
- axis: 沿著它計算百分位數的軸
首先明確百分位數:
第 p 個百分位數是這樣一個值,它使得至少有 p% 的資料項目小於或等於這個值,且至少有 (100-p)% 的資料項目大於或等於這個值。
舉個例子:高等院校的入學考試成績經常以百分位數的形式報告。比如,假設某個考生在入學考試中的語文部分的原始分數為 54 分。相對於參加同一考試的其他學生來說,他的成績如何並不容易知道。但是如果原始分數54分恰好對應的是第70百分位數,我們就能知道大約70%的學生的考分比他低,而約30%的學生考分比他高。
這裏的 p = 70。
實例
輸出結果為:
我們的數組是: [[10 7 4] [ 3 2 1]] 調用 percentile() 函數: 3.5 [6.5 4.5 2.5] [7. 2.] [[7.] [2.]]
numpy.median()
numpy.median() 函數用於計算數組 a 中元素的中位數(中值)
實例
輸出結果為:
我們的數組是: [[30 65 70] [80 95 10] [50 90 60]] 調用 median() 函數: 65.0 沿軸 0 調用 median() 函數: [50. 90. 60.] 沿軸 1 調用 median() 函數: [65. 80. 60.]
numpy.mean()
numpy.mean() 函數返回數組中元素的算術平均值。 如果提供了軸,則沿其計算。
算術平均值是沿軸的元素的總和除以元素的數量。
實例
輸出結果為:
我們的數組是: [[1 2 3] [3 4 5] [4 5 6]] 調用 mean() 函數: 3.6666666666666665 沿軸 0 調用 mean() 函數: [2.66666667 3.66666667 4.66666667] 沿軸 1 調用 mean() 函數: [2. 4. 5.]
numpy.average()
numpy.average() 函數根據在另一個數組中給出的各自的權重計算數組中元素的加權平均值。
該函數可以接受一個軸參數。 如果沒有指定軸,則數組會被展開。
加權平均值即將各數值乘以相應的權數,然後加總求和得到總體值,再除以總的單位數。
考慮數組[1,2,3,4]和相應的權重[4,3,2,1],通過將相應元素的乘積相加,並將和除以權重的和,來計算加權平均值。
加權平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)
實例
輸出結果為:
我們的數組是: [1 2 3 4] 調用 average() 函數: 2.5 再次調用 average() 函數: 2.0 權重的和: (2.0, 10.0)
在多維數組中,可以指定用於計算的軸。
實例
輸出結果為:
我們的數組是: [[0 1] [2 3] [4 5]] 修改後的數組: [0.625 2.625 4.625] 修改後的數組: (array([0.625, 2.625, 4.625]), array([8., 8., 8.]))
標準差
標準差是一組數據平均值分散程度的一種度量。
標準差是方差的算術平方根。
標準差公式如下:
std = sqrt(mean((x - x.mean())**2))
如果數組是 [1,2,3,4],則其平均值為 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],並且其平均值的平方根除以 4,即 sqrt(5/4) ,結果為 1.1180339887498949。
實例
輸出結果為:
1.1180339887498949
方差
統計中的方差(樣本方差)是每個樣本值與全體樣本值的平均數之差的平方值的平均數,即 mean((x - x.mean())** 2)。
換句話說,標準差是方差的平方根。
實例
輸出結果為:
1.25