numpy.max #
- 麻木的。max ( a , axis=None , out=None , keepdims=<无 值> , initial=<无 值> , where=<无 值> ) [来源] #
返回数组的最大值或沿轴的最大值。
- 参数:
- 类似数组
输入数据。
- axis无或整数或整数元组,可选
操作所沿的一个或多个轴。默认情况下,使用扁平输入。
1.7.0 版本中的新增内容。
如果这是一个整数元组,则在多个轴上选择最大值,而不是像以前那样选择单个轴或所有轴。
- 输出ndarray,可选
用于放置结果的替代输出数组。必须具有与预期输出相同的形状和缓冲区长度。有关更多详细信息,请参阅输出类型确定。
- keepdims布尔值,可选
如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。
如果传递默认值,则keepdims将不会传递到
max
的子类的方法ndarray
,但任何非默认值都会传递。如果子类的方法没有实现keepdims,则会引发任何异常。- 初始标量,可选
输出元素的最小值。必须存在才能允许在空切片上进行计算。
reduce
详情请参阅。1.15.0 版本中的新增功能。
- 其中array_like of bool,可选
要比较最大值的元素。
reduce
详情请参阅。1.17.0 版本中的新增功能。
- 返回:
- 最大ndarray 或标量
最多一个.如果axis为 None,则结果为标量值。如果axis是 int,则结果是维度 的数组 。如果axis是元组,则结果是维度 的数组。
a.ndim - 1
a.ndim - len(axis)
也可以看看
笔记
NaN 值会传播,即如果至少一项为 NaN,则相应的最大值也将为 NaN。要忽略 NaN 值(MATLAB 行为),请使用 nanmax。
不要用于
max
两个数组的逐元素比较;当a.shape[0]
为 2 时,比 快 。maximum(a[0], a[1])
max(a, axis=0)
例子
>>> 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) 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