python 的numpy库中的mean()函数用法介绍
1.mean()函数定义:
numpy.mean(a,axis=None,dtype=None,out=None,keepdims=
)[source]
Computethearithmeticmeanalongthespecifiedaxis.
Returnstheaverageofthearrayelements.Theaverageistakenovertheflattenedarraybydefault,otherwiseoverthespecifiedaxis.float64intermediateandreturnvaluesareusedforintegerinputs.
2mean()函数功能:求取均值
经常操作的参数为axis,以m*n矩阵举例:
axis不设置值,对m*n个数求均值,返回一个实数
axis=0:压缩行,对各列求均值,返回1*n矩阵
axis=1:压缩列,对各行求均值,返回m*1矩阵
举例:
>>>importnumpyasnp >>>num1=np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]]) >>>now2=np.mat(num1) >>>now2 matrix([[1,2,3], [2,3,4], [3,4,5], [4,5,6]]) >>>np.mean(now2)#对所有元素求均值 3.5 >>>np.mean(now2,0)#压缩行,对各列求均值 matrix([[2.5,3.5,4.5]]) >>>np.mean(now2,1)#压缩列,对各行求均值 matrix([[2.], [3.], [4.], [5.]])
补充拓展:numpy的np.nanmax和np.max区别(坑)
numpy的np.nanmax和np.array([1,2,3,np.nan]).max()的区别(坑)
numpy中numpy.nanmax的官方文档
原理
在计算dataframe最大值时,最先用到的一定是Series对象的max()方法(),最终结果是4。
s1=pd.Series([1,2,3,4,np.nan])
s1_max=s1.max()
但是笔者由于数据量巨大,列数较多,于是为了加快计算速度,采用numpy进行最大值的计算,但正如以下代码,最终结果得到的是nan,而非4。发现,采用这种方式计算最大值,nan也会包含进去,并最终结果为nan。
s1=pd.Series([1,2,3,4,np.nan]) s1_max=s1.values.max() >>>nan
通过阅读numpy的文档发现,存在np.nanmax的函数,可以将np.nan排除进行最大值的计算,并得到想要的正确结果。
当然不止是max,min、std、mean均会存在列中含有np.nan时,s1.values.min/std/mean()返回nan的情况。
速度区别
速度由快到慢依次:
s1=pd.Series([1,2,3,4,5,np.nan]) #速度由快至慢 np.nanmax(s1.values)>np.nanmax(s1)>s1.max()
以上这篇python的numpy库中的mean()函数用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。