使用numpy.mean()?計算矩陣均值方式
numpy.mean計算矩陣均值
計算矩陣的均值
>>> a = np.array([[1, 2], [3, 4]]) >>> np.mean(a) # 將上面二維矩陣的每個元素相加除以元素個數(shù)(求平均數(shù)) 2.5 >>> np.mean(a, axis=0) # axis=0,計算每一列的均值 array([ 2., ?3.]) >>> np.mean(a, axis=1) # 計算每一行的均值 array([ 1.5, ?3.5])
均值函數(shù)numpy.mean
mean是numpy中常用的求均值函數(shù)
現(xiàn)將mean的常用方法總結(jié)如下:
函數(shù)體:
numpy.mean(a, axis=None, dtype=None, out=None, keepdims= < class ‘numpy._globals._NoValue'>)[source]
功能:
- 計算指定軸的算術(shù)平均值。
- 返回數(shù)組元素的平均值。默認的情況下,求均值的操作在平展開來的數(shù)組上進行,否則就在指定的軸上。
參數(shù):
①a:必須是數(shù)組。
②axis:默認條件下是flatten的array,可以指定相應(yīng)的軸。
如果是二維矩陣,axis=0返回縱軸的平均值,axis=1返回橫軸的平均值。
例子如下:
>>> a = np.array([[1, 2], [3, 4]]) >>> np.mean(a) 2.5 >>> np.mean(a, axis=0) array([ 2., ?3.]) >>> np.mean(a, axis=1) array([ 1.5, ?3.5])
- 你也可以用a.mean(1)來代替np.mean(a,axis=1)
- 這樣子更簡潔
返回值:
在out=None的情況下,返回的就是你要的平均值唄~
否則,返回一個對平均值的引用。
注意(關(guān)于精度):
算術(shù)平均值是沿軸的元素總和除以元素的數(shù)量。既然是除法,就涉及到一個精確度的問題。
對于浮點輸入,平均值的計算使用與輸入相同的精度計算,這可能會導(dǎo)致結(jié)果不準確,特別是對于float32來說。為了緩解這個問題,我們可以使用dtype關(guān)鍵字指定更高精度的累加器。
具體看下面這個例程:
>>> a = np.zeros((2, 512*512), dtype=np.float32) >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.mean(a) 0.54999924
>>> np.mean(a, dtype=np.float64) 0.55000000074505806
如果想要返回標準差,可以調(diào)用標準差函數(shù)
std = sqrt(平均值(abs(x-x.mean())** 2))
>>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) 1.1180339887498949 >>> np.std(a, axis=0) array([ 1., ?1.]) >>> np.std(a, axis=1) array([ 0.5, ?0.5])
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django 解決上傳文件時,request.FILES為空的問題
這篇文章主要介紹了Django 解決上傳文件時,request.FILES為空的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python實現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存
今天小編就為大家分享一篇python實現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12