numpy.max#

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

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

参数:
a类数组对象

输入数据。

axisNone 或 int 或 int 元组,可选

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

outndarray,可选

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

keepdimsbool,可选

如果设置为 True,则被缩减的轴将保留在结果中,其大小为 1。使用此选项,结果将能够与输入数组正确广播。

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

initial标量,可选

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

wherearray_like of bool,可选

要比较以获取最大值的元素。有关详细信息,请参阅 reduce

返回:
maxndarray 或标量

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

另请参阅

amin

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

nanmax

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

maximum

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

fmax

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

argmax

返回最大值的索引。

nanmin, minimum, fmin

备注

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

不要使用 max 来逐个比较 2 个数组;当 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