当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy nanargmax方法用法及代码示例


Numpy 的 nanargmax(~) 方法忽略所有缺失值(即 NaN s),返回与数组中最大元素相对应的索引。

参数

1. a | array_like

输入数组。

2. axis | int | optional

计算方法所沿的轴。对于二维数组,如果 axis=0 ,则该方法按列执行,如果 axis=1 则按行执行。如果未提供轴,则 Numpy 会将您的数组视为展平数组。

返回值

如果未提供axis,则返回标量。否则,返回一个 Numpy 数组。

例子

一维数组

x = np.array([np.NaN,5,1,3])
np.nanargmax(x)



1

这里,返回 1,因为最大值(即 5)位于索引 1。相反,np.argmax(x) 方法将返回 0,因为它认为 NaN 是最大的。

二维数组

假设我们有以下 2D Numpy 数组:

x = np.array([[np.NaN,4],[1,3]])
x



array([[nan,  4.],
       [ 1.,  3.]])
整个数组的最大索引

要获取整个数组中最大值的索引,请省略 axis 参数:

np.nanargmax(x)



1
每列的最大索引

要获取按列的最大值的索引,请设置 axis=0

np.nanargmax(x, axis=0)



array([1, 0])

在这里,我们将检查矩阵的每一列并计算其最大值的索引,同时忽略任何缺失值。

每行的最大索引

要按行获取最大值的索引,请设置 axis=1

np.nanargmax(x, axis=1)



array([1, 1])

在这里,我们将检查矩阵的每一行并计算其最大值的索引。同时忽略任何缺失值。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | nanargmax method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。