Python numpy.amin函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中amin方法的使用。

numpy.amin

numpy.amin(a, axis=None, out=None, keepdims=, initial=, where=)    [source]

返回数组的最小值或沿轴的最小值。

参数 :

a :array_like

输入数据。

axis :None 或 int 或 int类型的tuple, 可选

沿其运行的一个或多个轴。 默认情况下,使用拼合的输入。

 1.7.0版中的新功能。 如果这是一个整数元组,

则在多个轴上选择最小值,

而不是像以前那样在单个轴或所有轴上进行选择。

out :ndarray, 可选

放置结果的备用输出数组。 

必须具有与预期输出相同的形状和缓冲区长度。

 有关更多详细信息,请参见ufuncs-output-type。

keepdimsbool, 可选

如果将其设置为True,

那么被缩减的轴将在结果中保留尺寸为1的维度。

使用此选项,结果将针对输入数组正确传递。 如果传递了默认值,

则keepdims不会传递给ndarray子类的amin方法,

但是任何非默认值都会传递。 如果子类的方法未实现keepdims,

则将引发任何异常。

initial :scalar, 可选

输出元素的最大值。 必须存在以允许在空片上进行计算。

 有关详情,请参见reduce。 1.15.0版中的新功能。

where :bool的array_like 可选

元素来比较最小值。详见reduce。新版本1.17.0。

返回值 :

amin :ndarray 或 scalar

最少一个 如果axis为None,则结果为标量值。

 如果指定了axis,则结果为维度为a.ndim-1的数组。

Notes

将传NaN值,即,如果至少一项是NaN,则相应的最小值也将是NaN。 要忽略NaN值(MATLAB行为),请使用nanmin。

不要使用amin对2个数组进行逐元素比较; 当a.shape[0]为2时,minimum(a[0],a[1])amin(a,axis = 0)快。

例子

>>> a = np.arange(4).reshape((2,2))
>>> a
array([[0, 1],
       [2, 3]])
>>> np.amin(a)           # Minimum of the flattened array
0
>>> np.amin(a, axis=0)   # Minima along the first axis
array([0, 1])
>>> np.amin(a, axis=1)   # Minima along the second axis
array([0, 2])
>>> np.amin(a, where=[False, True], initial=10, axis=0)
array([10,  1])
>>> b = np.arange(5, dtype=float)
>>> b[2] = np.NaN
>>> np.amin(b)
nan
>>> np.amin(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
推荐阅读
cjavapy编程之路首页