NumPy 統(tǒng)計(jì)函數(shù)

numpy.amin() 和 numpy.amax()

numpy.amin() 用于計(jì)算數(shù)組中的元素沿指定軸的最小值。
numpy.amax() 用于計(jì)算數(shù)組中的元素沿指定軸的最大值。

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 
 print ('我們的數(shù)組是:',a)
 print ('調(diào)用 amin() 函數(shù):',np.amin(a,1))
 print ('再次調(diào)用 amin() 函數(shù):',np.amin(a,0))
 print ('調(diào)用 amax() 函數(shù):',np.amax(a))
 print ('再次調(diào)用 amax() 函數(shù):',np.amax(a, axis = 0))

輸出結(jié)果為:

 我們的數(shù)組是: [[3 7 5]
  [8 4 3]
  [2 4 9]]
 調(diào)用 amin() 函數(shù): [3 3 2]
 再次調(diào)用 amin() 函數(shù): [2 4 3]
 調(diào)用 amax() 函數(shù): 9
 再次調(diào)用 amax() 函數(shù): [8 7 9]

numpy.ptp()

numpy.ptp()函數(shù)計(jì)算數(shù)組中元素最大值與最小值的差(最大值 - 最小值)。

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 
 print ('調(diào)用 ptp() 函數(shù):',np.ptp(a))
 print ('沿軸 1 調(diào)用 ptp() 函數(shù):',np.ptp(a, axis = 1))
 print ('沿軸 0 調(diào)用 ptp() 函數(shù):',np.ptp(a, axis = 0))

輸出結(jié)果為:

 調(diào)用 ptp() 函數(shù): 7
 沿軸 1 調(diào)用 ptp() 函數(shù): [4 5 7]
 沿軸 0 調(diào)用 ptp() 函數(shù): [6 3 6]

numpy.percentile()

百分位數(shù)是統(tǒng)計(jì)中使用的度量,表示小于這個(gè)值的觀察值的百分比。 函數(shù)numpy.percentile()接受以下參數(shù)。

numpy.percentile(a, q, axis)

參數(shù)說(shuō)明:

a: 輸入數(shù)組 q: 要計(jì)算的百分位數(shù),在 0 ~ 100 之間 axis: 沿著它計(jì)算百分位數(shù)的軸

首先明確百分位數(shù):

第 p 個(gè)百分位數(shù)是這樣一個(gè)值,它使得至少有 p% 的數(shù)據(jù)項(xiàng)小于或等于這個(gè)值,且至少有 (100-p)% 的數(shù)據(jù)項(xiàng)大于或等于這個(gè)值。
舉個(gè)實(shí)例:高等院校的入學(xué)考試成績(jī)經(jīng)常以百分位數(shù)的形式報(bào)告。比如,假設(shè)某個(gè)考生在入學(xué)考試中的語(yǔ)文部分的原始分?jǐn)?shù)為 54 分。相對(duì)于參加同一考試的其他學(xué)生來(lái)說(shuō),他的成績(jī)?nèi)绾尾⒉蝗菀字?。但是如果原始分?jǐn)?shù)54分恰好對(duì)應(yīng)的是第70百分位數(shù),我們就能知道大約70%的學(xué)生的考分比他低,而約30%的學(xué)生考分比他高。

這里的 p = 70。

 import numpy as np 
 a = np.array([[10, 7, 4], [3, 2, 1]])
 # 50% 的分位數(shù),就是 a 里排序之后的中位數(shù)
 print ('調(diào)用 percentile() 函數(shù):',np.percentile(a, 50)) 
 # axis 為 0,在縱列上求
 print (np.percentile(a, 50, axis=0)) 
 # axis 為 1,在橫行上求
 print (np.percentile(a, 50, axis=1)) 
 # 保持維度不變
 print (np.percentile(a, 50, axis=1, keepdims=True))

輸出結(jié)果為:

 調(diào)用 percentile() 函數(shù): 3.5
 [6.5 4.5 2.5]
 [7. 2.]
 [[7.]
 [2.]]

numpy.median()

numpy.median() 函數(shù)用于計(jì)算數(shù)組 a 中元素的中位數(shù)(中值)

 import numpy as np 
 a = np.array([[30,65,70],[80,95,10],[50,90,60]]) 
 print ('調(diào)用 median() 函數(shù):',np.median(a))
 print ('沿軸 0 調(diào)用 median() 函數(shù):',np.median(a, axis = 0))
 print ('沿軸 1 調(diào)用 median() 函數(shù):',np.median(a, axis = 1))

輸出結(jié)果為:

 調(diào)用 median() 函數(shù): 65.0
 沿軸 0 調(diào)用 median() 函數(shù): [50. 90. 60.]
 沿軸 1 調(diào)用 median() 函數(shù): [65. 80. 60.]

numpy.mean()

numpy.mean() 函數(shù)返回?cái)?shù)組中元素的算術(shù)平均值。 如果提供了軸,則沿其計(jì)算。
算術(shù)平均值是沿軸的元素的總和除以元素的數(shù)量。

 import numpy as np 
 a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
 print ('調(diào)用 mean() 函數(shù):',(np.mean(a))
 print ('沿軸 0 調(diào)用 mean() 函數(shù):',np.mean(a, axis = 0))
 print ('沿軸 1 調(diào)用 mean() 函數(shù):',np.mean(a, axis = 1))

輸出結(jié)果為:

 調(diào)用 mean() 函數(shù):3.6666666666666665
 沿軸 0 調(diào)用 mean() 函數(shù):[2.66666667 3.66666667 4.66666667]
 沿軸 1 調(diào)用 mean() 函數(shù):[2. 4. 5.]

numpy.average()

numpy.average() 函數(shù)根據(jù)在另一個(gè)數(shù)組中給出的各自的權(quán)重計(jì)算數(shù)組中元素的加權(quán)平均值。
該函數(shù)可以接受一個(gè)軸參數(shù)。 如果沒(méi)有指定軸,則數(shù)組會(huì)被展開(kāi)。<
加權(quán)平均值即將各數(shù)值乘以相應(yīng)的權(quán)數(shù),然后加總求和得到總體值,再除以總的單位數(shù)。
考慮數(shù)組[1,2,3,4]和相應(yīng)的權(quán)重[4,3,2,1],通過(guò)將相應(yīng)元素的乘積相加,并將和除以權(quán)重的和,來(lái)計(jì)算加權(quán)平均值。

加權(quán)平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)
 import numpy as np 
 a = np.array([1,2,3,4]) 
 print ('調(diào)用 average() 函數(shù):',np.average(a))
 # 不指定權(quán)重時(shí)相當(dāng)于 mean 函數(shù)
 wts = np.array([4,3,2,1]) 
 print ('再次調(diào)用 average() 函數(shù):',np.average(a,weights = wts))
 # 如果 returned 參數(shù)設(shè)為 True,則返回權(quán)重的和 
 print ('權(quán)重的和:',np.average([1,2,3, 4],weights = [4,3,2,1], returned =  True))

輸出結(jié)果為:

 調(diào)用 average() 函數(shù):2.5
 再次調(diào)用 average() 函數(shù):2.0
 權(quán)重的和:(2.0, 10.0)

在多維數(shù)組中,可以指定用于計(jì)算的軸。

 import numpy as np 
 a = np.arange(6).reshape(3,2) 
 wt = np.array([3,5]) 
 print ('修改后的數(shù)組:',np.average(a, axis = 1, weights = wt))
 print ('修改后的數(shù)組:',np.average(a, axis = 1, weights = wt, returned =  True))

輸出結(jié)果為:

 修改后的數(shù)組: [0.625 2.625 4.625]
 修改后的數(shù)組: (array([0.625, 2.625, 4.625]), array([8., 8., 8.]))

標(biāo)準(zhǔn)差

標(biāo)準(zhǔn)差是一組數(shù)據(jù)平均值分散程度的一種度量。
標(biāo)準(zhǔn)差是方差的算術(shù)平方根。
標(biāo)準(zhǔn)差公式如下:

 std = sqrt(mean((x - x.mean())**2))

如果數(shù)組是 [1,2,3,4],則其平均值為 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且再求其平均值的平方根除以 4,即 sqrt(5/4) ,結(jié)果為 1.1180339887498949。

import numpy as np 
print (np.std([1,2,3,4]))

輸出結(jié)果為:

1.1180339887498949

方差

統(tǒng)計(jì)中的方差(樣本方差)是每個(gè)樣本值與全體樣本值的平均數(shù)之差的平方值的平均數(shù),即 mean((x - x.mean())** 2)。
換句話說(shuō),標(biāo)準(zhǔn)差是方差的平方根。

import numpy as np 
print (np.var([1,2,3,4]))
1.25
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清