numpy.max#
- numpy.max(a,axis=None,out=None,keepdims=<novalue>,initial=<novalue>,where=<novalue>)[source]#
Return the maximum of an array or maximum along an axis.
- Parameters:
- aarray_like
Input data.
- axisNone or int or tuple of ints, optional
Axis or axes along which to operate. By default, flattened input isused. If this is a tuple of ints, the maximum is selected overmultiple axes, instead of a single axis or all the axes as before.
- outndarray, optional
Alternative output array in which to place the result. Mustbe of the same shape and buffer length as the expected output.SeeOutput type determination for more details.
- keepdimsbool, optional
If this is set to True, the axes which are reduced are leftin the result as dimensions with size one. With this option,the result will broadcast correctly against the input array.
If the default value is passed, thenkeepdims will not bepassed through to the
maxmethod of sub-classes ofndarray, however any non-default value will be. If thesub-class’ method does not implementkeepdims anyexceptions will be raised.- initialscalar, optional
The minimum value of an output element. Must be present to allowcomputation on empty slice. See
reducefor details.- wherearray_like of bool, optional
Elements to compare for the maximum. See
reducefor details.
- Returns:
- maxndarray or scalar
Maximum ofa. Ifaxis is None, the result is a scalar value.Ifaxis is an int, the result is an array of dimension
a.ndim-1. Ifaxis is a tuple, the result is an array ofdimensiona.ndim-len(axis).
See also
aminThe minimum value of an array along a given axis, propagating any NaNs.
nanmaxThe maximum value of an array along a given axis, ignoring any NaNs.
maximumElement-wise maximum of two arrays, propagating any NaNs.
fmaxElement-wise maximum of two arrays, ignoring any NaNs.
argmaxReturn the indices of the maximum values.
nanmin,minimum,fmin
Notes
NaN values are propagated, that is if at least one item is NaN, thecorresponding max value will be NaN as well. To ignore NaN values(MATLAB behavior), please use nanmax.
Don’t use
maxfor element-wise comparison of 2 arrays; whena.shape[0]is 2,maximum(a[0],a[1])is faster thanmax(a,axis=0).Examples
>>>importnumpyasnp>>>a=np.arange(4).reshape((2,2))>>>aarray([[0, 1], [2, 3]])>>>np.max(a)# Maximum of the flattened array3>>>np.max(a,axis=0)# Maxima along the first axisarray([2, 3])>>>np.max(a,axis=1)# Maxima along the second axisarray([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
You can use an initial value to compute the maximum of an empty slice, orto initialize it to a different value:
>>>np.max([[-50],[10]],axis=-1,initial=0)array([ 0, 10])
Notice that the initial value is used as one of the elements for which themaximum is determined, unlike for the default argument Python’s maxfunction, which is only used for empty iterables.
>>>np.max([5],initial=6)6>>>max([5],default=6)5