numpy.max#
- numpy.max(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[源代码]#
返回数组中的最大值或沿轴的最大值.
- 参数:
- aarray_like
输入数据.
- axisNone 或 int 或 int 的元组,可选
操作的轴或轴.默认情况下,使用展平的输入.
在 1.7.0 版本加入.
如果这是一个整数的元组,则最大值是在多个轴上选择的,而不是像以前那样在单个轴或所有轴上选择.
- outndarray,可选
要在其中放置结果的替代输出数组.必须与预期输出的形状和缓冲区长度相同.有关更多详细信息,请参见 输出类型确定.
- keepdimsbool, 可选
如果设置为 True,被减少的轴将作为尺寸为1的维度保留在结果中.使用此选项,结果将正确地与输入数组广播.
如果传递的是默认值,那么 keepdims 将不会传递给
ndarray
子类的max
方法,然而任何非默认值将会传递.如果子类的方法没有实现 keepdims ,任何异常将会被引发.- initial标量,可选
输出元素的最小值.必须存在以允许在空切片上进行计算.详情请参见
reduce
.在 1.15.0 版本加入.
- where类数组的布尔值,可选
用于比较的最大元素.详情请参见
reduce
.在 1.17.0 版本加入.
- 返回:
- maxndarray 或标量
最大值 a.如果 axis 是 None,结果是一个标量值.如果 axis 是 int,结果是一个维度为
a.ndim - 1
的数组.如果 axis 是元组,结果是一个维度为a.ndim - len(axis)
的数组.
参见
备注
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