【轉】numpy中mean和average的區別


轉自:https://blog.csdn.net/Muzi_Water/article/details/85104941


 

 

mean和average都是計算均值的函數,在不指定權重的時候average和mean是一樣的。指定權重后,average可以計算一維的加權平均值。具體如下:

 

import numpy as np
a = np.array([np.random.randint(0, 20, 5), np.random.randint(0, 20, 5)])
print('原始數據\n', a)
print('mean函數'.center(20, '*'))
print('對所有數據計算\n', a.mean())
print('axis=0,按行方向計算,即每列\n', a.mean(axis=0))  # 按行方向計算,即每列
print('axis=1,按列方向計算,即每行\n', a.mean(axis=1))  # 按列方向計算,即每行
print('average函數'.center(20, '*'))
print('對所有數據計算\n', np.average(a))
print('axis=0,按行方向計算,即每列\n', np.average(a, axis=0))  # 按行方向計算,即每列
print('axis=1,按列方向計算,即每行\n', np.average(a, axis=1))  # 按列方向計算,即每行
b = np.array([1, 2, 3, 4])
wts = np.array([4, 3, 2, 1])
print('不指定權重\n', np.average(b))
print('指定權重\n', np.average(b, weights=wts))

  運行結果:

原始數據
 [[10 12  7 14  5]
 [12 10  2 16  7]]
*******mean函數*******
對所有數據計算
 9.5
axis=0,按行方向計算,即每列
 [ 11.   11.    4.5  15.    6. ]
axis=1,按列方向計算,即每行
 [ 9.6  9.4]
*****average函數******
對所有數據計算
 9.5
axis=0,按行方向計算,即每列
 [ 11.   11.    4.5  15.    6. ]
axis=1,按列方向計算,即每行
 [ 9.6  9.4]
不指定權重
 2.5
指定權重
 2.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM