numpy.nanmax#

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

返回数组的最大值或沿轴的最大值,忽略任何 NaN。当遇到全 NaN 切片时,会引发 RuntimeWarning 警告,并为该切片返回 NaN。

参数:
aarray_like

包含要计算最大值的数字的数组。如果 a 不是数组,则尝试进行转换。

axis{int, tuple of int, None}, 可选

计算最大值所沿的轴。默认是计算扁平化数组的最大值。

outndarray, 可选

用于放置结果的备用输出数组。默认值为 None;如果提供,它必须与预期输出具有相同的形状,但必要时会进行类型转换。有关更多详细信息,请参见 输出类型确定

keepdimsbool, 可选

如果设置为 True,则被缩减的轴将作为大小为一的维度保留在结果中。使用此选项,结果将与原始 a 正确广播。如果该值不是默认值,则 keepdims 将传递给 max 的子类 ndarray 的方法。如果子类方法未实现 keepdims,则会引发任何异常。

initialscalar, 可选

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

1.22.0 版本新增。

wherebool 类型的 array_like, 可选

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

1.22.0 版本新增。

返回值:
nanmaxndarray

一个与 a 具有相同形状的数组,但移除了指定的轴。如果 a 是 0 维数组,或者 axis 为 None,则返回一个 ndarray 标量。返回与 a 相同的 dtype。

另请参见

nanmin

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

amax

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

fmax

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

maximum

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

isnan

显示哪些元素是 NaN(非数字)。

isfinite

显示哪些元素既不是 NaN 也不是无穷大。

amin, fmin, minimum

注意

NumPy 使用 IEEE 二进制浮点算术标准 (IEEE 754)。这意味着“非数字(Not a Number)”不等于无穷大。正无穷大被视为一个非常大的数字,负无穷大被视为一个非常小的(即负数)数字。

如果输入是整数类型,则此函数等效于 np.max。

示例

>>> import numpy as np
>>> a = np.array([[1, 2], [3, np.nan]])
>>> np.nanmax(a)
3.0
>>> np.nanmax(a, axis=0)
array([3.,  2.])
>>> np.nanmax(a, axis=1)
array([2.,  3.])

当存在正无穷大和负无穷大时

>>> np.nanmax([1, 2, np.nan, -np.inf])
2.0
>>> np.nanmax([1, 2, np.nan, np.inf])
inf