numpy.min#
- numpy.min(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[source]#
返回数组的最小值或沿指定轴的最小值。
- 参数:
- aarray_like
输入数据。
- axisNone 或 int 或 int 元组,可选
要操作的轴或轴。默认情况下,使用扁平化的输入。
版本 1.7.0 中的新功能。
如果这是一个 int 元组,则会在多个轴上选择最小值,而不是像以前那样在一个轴或所有轴上选择。
- outndarray,可选
放置结果的备用输出数组。必须与预期输出具有相同的形状和缓冲区长度。有关更多详细信息,请参阅输出类型确定。
- keepdimsbool,可选
如果将其设置为 True,则减少的轴将作为大小为一的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。
如果传递默认值,则不会将keepdims传递给
ndarray
的子类的min
方法,但是任何非默认值都会传递。如果子类的该方法没有实现keepdims,则会引发任何异常。- initial标量,可选
输出元素的最大值。必须存在才能允许在空切片上进行计算。有关详细信息,请参阅
reduce
。版本 1.15.0 中的新功能。
- wherebool 的 array_like,可选
要比较以获取最小值的元素。有关详细信息,请参阅
reduce
。版本 1.17.0 中的新功能。
- 返回值:
- minndarray 或标量
a 的最小值。如果axis 为 None,则结果为标量值。如果axis 为 int,则结果为维度为
a.ndim - 1
的数组。如果axis 为元组,则结果为维度为a.ndim - len(axis)
的数组。
另请参阅
注释
NaN 值会被传播,也就是说,如果至少有一个项目是 NaN,则相应的最小值也将是 NaN。要忽略 NaN 值(MATLAB 行为),请使用 nanmin。
不要使用
min
来逐元素比较 2 个数组;当a.shape[0]
为 2 时,minimum(a[0], a[1])
比min(a, axis=0)
快。示例
>>> import numpy as np >>> a = np.arange(4).reshape((2,2)) >>> a array([[0, 1], [2, 3]]) >>> np.min(a) # Minimum of the flattened array 0 >>> np.min(a, axis=0) # Minima along the first axis array([0, 1]) >>> np.min(a, axis=1) # Minima along the second axis array([0, 2]) >>> np.min(a, where=[False, True], initial=10, axis=0) array([10, 1])
>>> b = np.arange(5, dtype=float) >>> b[2] = np.nan >>> np.min(b) np.float64(nan) >>> np.min(b, where=~np.isnan(b), initial=10) 0.0 >>> np.nanmin(b) 0.0
>>> np.min([[-50], [10]], axis=-1, initial=0) array([-50, 0])
请注意,初始值用作确定最小值的元素之一,这与 Python 的 max 函数的默认参数不同,后者仅用于空可迭代对象。
请注意,这与 Python 的
default
参数不同。>>> np.min([6], initial=5) 5 >>> min([6], default=5) 6