numpy 学习汇总36- max,amax,nanmax,fmax,maximum的区别( 初步学习 tcy)

max,amax,nanmax,fmax,maximum的区别 2018/11/28
    
===================================================================
1.函数
    
np.max()是np.amax的别名
np.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>) 沿给定轴的数组的最大值,传播任何NaN。
np.nanmax(a, axis=None, out=None, keepdims= < novalue >):                沿给定轴的数组的最大值,忽略任何NaN。
    
np.fmax(*args, **kwargs) :   元素最多两个数组,忽略任何NaN。
np.maximum(*args, **kwargs) :元素最多两个数组,传播任何NaN。
    
===================================================================
2.1.说明
np.amax/np.max,np.nanmax:用于单个数组顺序统计;计算数组中所有元素的最大值,或者沿着数组的轴
np.maximum,np.fmax:      用于两个数组的元素比较并计算其元素最大值;一个阵列可以向另一个阵列广播
    
2.2.np.max是np.amax的别名
    
np.max.__name__# 'amax'
np.max is np.amax# True
np.amax                # <function numpy.core.fromnumeric.amax>
np.max                 # <function numpy.core.fromnumeric.amax>
    
2.3.元素功能是np.ufunc(通用功能),这意味着它们具有普通Numpy功能所不具备的一些特殊属性。
    
type(np.maximum)# <class 'numpy.ufunc'>
type(np.fmax)       # <class 'numpy.ufunc'>
type(np.max)        # <class 'function'>
type(np.nanmax)  # <class 'function'>
    
# 例如,您可以计算数组(或数组的特定轴)的累积最大值:
d = np.array([2, 0, 3, -4, -2, 7, 9])
np.maximum.accumulate(d)# array([2, 2, 3, 3, 3, 7, 9])
# np.max模仿np.maximum
np.maximum.reduce(d)# 9
np.max(d)                    # 9
    
4.最后,相同的规则适用于四个最小相关函数:
    
np.amin/np.min,np.nanmin;
np.minimum,np.fmin
===================================================================
5.实例
    
a = np.arange(4).reshape((2,2))# array([[0, 1],[2, 3]])
np.amax(a) # 扁平数组的最大值 # 3
np.amax(a, axis=0)                     # array([2, 3])
np.amax(a, axis=1)                     # array([1, 3])
    
b = np.arange(5, dtype=float)
b[2] = np.NaN
np.amax(b)                              # nan
np.nanmax(b)                            # 4
    
a = np.array([[1, 2], [3, np.nan]])
np.nanmax(a)                              # 3
np.nanmax(a, axis=0)                      # array([ 3., 2.])
np.nanmax(a, axis=1)                      # array([ 2., 3.])
np.nanmax([1, 2, np.nan, np.NINF])# 2
np.nanmax([1, 2, np.nan, np.inf])    # inf
    
np.fmax([2, 3, 4], [1, 5, 2])                                # array([ 2., 5., 4.])
np.fmax(np.eye(2), [0.5, 2])                                 # array([[ 1. , 2. ],[ 0.5, 2. ]])
np.fmax([np.nan, 0, np.nan],[0, np.nan, np.nan])# array([ 0., 0., NaN])
np.fmax(np.Inf, 1)                                           #inf
    
np.maximum([2, 3, 4], [1, 5, 2])                       # array([2, 5, 4])
np.maximum(np.eye(2), [0.5, 2]) # broadcasting         # array([[ 1. , 2. ],[ 0.5, 2. ]])
np.maximum([np.nan, 0, np.nan], [0, np.nan, np.nan])# array([ NaN, NaN, NaN])
np.maximum(np.Inf, 1)                                  # inf
  • 4
    点赞
  • 3
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值