numpy.amax
numpy.amax(a, axis=None, out=None, keepdims=, initial=, where=) [source]
返回数组的最大值或沿轴的最大值。
参数 : | a :array_like 输入数据。 axis :None 或 int 或 tuple of ints, 可选 沿其运行的一个或多个轴。 默认情况下,使用拼合的输入。 1.7.0版中的新功能。 如果这是一个整数元组, 则在多个轴上选择最大值, 而不是像以前那样在单个轴或所有轴上进行选择。 out :ndarray, 可选 放置结果的备用输出数组。 必须具有与预期输出相同的形状和缓冲区长度。 有关更多详细信息,请参见ufuncs-output-type。 keepdims :bool, 可选 如果将其设置为True, 那么被缩减的轴将在结果中保留尺寸为1的维度。 使用此选项,结果将针对输入数组正确传递。 如果传递了默认值, 则keepdims不会传递到ndarray子类的 但是任何非默认值都会传递。 如果子类的方法未实现keepdims, 则将引发任何异常。 initial : 输出元素的最小值。必须存在以允许在空片上进行计算。 有关详情,请参见 where :array_like of bool, 可选 要比较的最大元素。有关详情,请参见 1.17.0版中的新功能。 |
返回值 : | amax :ndarray 或 scalar 最多一个。如果axis为None,则结果为标量值。 如果指定了axis,则结果为维度为 |
Notes
将传播NaN值,即,如果至少一项为NaN,则相应的最大值也将为NaN。要忽略NaN值(MATLAB行为),请使用nanmax。
不要使用amax
进行2个数组的逐元素比较; 当a.shape [0]
为2时,maximum(a [0],a [1])
比amax(a,axis = 0)快
。
例子
>>> a = np.arange(4).reshape((2,2))
>>> a
array([[0, 1],
[2, 3]])
>>> np.amax(a) # Maximum of the flattened array
3
>>> np.amax(a, axis=0) # Maxima along the first axis
array([2, 3])
>>> np.amax(a, axis=1) # Maxima along the second axis
array([1, 3])
>>> np.amax(a, where=[False, True], initial=-1, axis=0)
array([-1, 3])
>>> b = np.arange(5, dtype=float)
>>> b[2] = np.NaN
>>> np.amax(b)
nan
>>> np.amax(b, where=~np.isnan(b), initial=-1)
4.0
>>> np.nanmax(b)
4.0
您可以使用初始值来计算空切片的最大值,或将其初始化为其他值:
>>> np.max([[-50], [10]], axis=-1, initial=0)
array([ 0, 10])
请注意,初始值用作确定最大值的元素之一,这与默认参数Python的max函数不同,后者仅用于空的可迭代对象。
>>> np.max([5], initial=6)
6
>>> max([5], default=6)
5