numpy.max#

numpy.max(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[source]#

返回数组的最大值或沿指定轴的最大值。

参数:
aarray_like

输入数据。

axisNone 或 int 或 int 元组,可选

操作的轴或轴。默认情况下,使用扁平化的输入。如果这是一个 int 元组,则在多个轴上选择最大值,而不是像以前那样在一个轴或所有轴上。

outndarray,可选

放置结果的备用输出数组。必须与预期输出具有相同的形状和缓冲区长度。有关更多详细信息,请参见 输出类型确定

keepdimsbool,可选

如果将其设置为 True,则减少的轴将作为大小为一的维度保留在结果中。使用此选项,结果将正确地对输入数组进行广播。

如果传递默认值,则 keepdims 不会传递到 ndarray 的子类的 max 方法,但是任何非默认值都会传递。如果子类的该方法没有实现 keepdims,则会引发任何异常。

initial标量,可选

输出元素的最小值。必须存在才能允许对空切片进行计算。有关详细信息,请参见 reduce

wherebool 型数组,可选

用于比较最大值的元素。有关详细信息,请参见 reduce

返回:
maxndarray 或标量

a 的最大值。如果 axis 为 None,则结果为标量值。如果 axis 为 int,则结果为维度为 a.ndim - 1 的数组。如果 axis 为元组,则结果为维度为 a.ndim - len(axis) 的数组。

另请参见

amin

沿给定轴的数组的最小值,传播任何 NaN 值。

nanmax

沿给定轴的数组的最大值,忽略任何 NaN 值。

maximum

两个数组的逐元素最大值,传播任何 NaN 值。

fmax

两个数组的逐元素最大值,忽略任何 NaN 值。

argmax

返回最大值的索引。

nanminminimumfmin

备注

NaN 值会被传播,也就是说,如果至少有一个项目是 NaN,则对应的最大值也将是 NaN。要忽略 NaN 值(MATLAB 行为),请使用 nanmax。

不要对两个数组的逐元素比较使用 max;当 a.shape[0] 为 2 时,maximum(a[0], a[1])max(a, axis=0) 更快。

示例

>>> import numpy as np
>>> a = np.arange(4).reshape((2,2))
>>> a
array([[0, 1],
       [2, 3]])
>>> np.max(a)           # Maximum of the flattened array
3
>>> np.max(a, axis=0)   # Maxima along the first axis
array([2, 3])
>>> np.max(a, axis=1)   # Maxima along the second axis
array([1, 3])
>>> np.max(a, where=[False, True], initial=-1, axis=0)
array([-1,  3])
>>> b = np.arange(5, dtype=float)
>>> b[2] = np.nan
>>> np.max(b)
np.float64(nan)
>>> np.max(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