您好,欢迎来到Numpy nanmin教程 。在本教程中,我们将学习 NumPy nanmin()
方法,并看到很多相关示例。那么让我们开始吧!
另请阅读: NumPy nanmax – 沿轴的数组最大值,忽略任何 NaN
什么是 NumPy 南民?
在 Python 中, NaN 表示 不是数字。如果我们有一个包含一些 NaN 值的数组,并且想要找到其中的最小值,我们可以使用 nanmin()
NumPy 中的方法。
NumPy 中的方法 nanmin()
是一个函数,它返回通过忽略数组中的 NaN 值计算出的数组元素的最小值。它可以是所有数组元素的最小值、沿行的数组元素的最小值或沿列的数组元素的最小值。
我们将在本教程的后续部分中看到每个示例的示例。
NumPy nanmin 的语法
让我们看一下该 nanmin()
函数的语法。
numpy.nanmin(a, axis = None , out = None , keepdims = <no value>, initial = <no value>, where = <no value>) |
范围 | 描述 | 必需/可选 |
一个(类似数组) | 输入数据。 | 必需的 |
轴 | 计算数组最小值的轴。 它可以是 axis=0 或 axis=1 或 axis=None ,这意味着要返回整个数组的最小值。 |
选修的 |
出去 | 用于放置结果的替代输出数组。它必须具有与预期输出相同的形状。 | 选修的 |
keepdims(布尔值) | 如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。 | 选修的 |
最初的 | 输出元素的最大值。 | 选修的 |
在哪里 | 用于比较以找到最小值的元素。 | 选修的 |
返回:
一个数组,包含沿指定轴的数组最小值,忽略所有 NaN。
NumPy nanmin 的示例
让我们直接进入使用numpy.nanmin()函数的不同示例 。
一维数组的 NumPy nanmin
import numpy as np arr = [np.nan, 54 , 1 , 3 , 44 ] # using the nanmin function to calculate the maximum ans = np.nanmin(arr) print ( "arr =" , arr) print ( "Result =" , ans) |
输出:
arr = [nan, 54, 1, 3, 44] Result = 1.0 |
忽略 NaN 值,54、1、3 和 44 中的最小值为 1,因此返回。
二维数组的 NumPy nanmin
import numpy as np arr = [[ 30 , - 9 ], [ 8 , np.nan]] # using the nanmin function to calculate the maximum ans = np.nanmin(arr) print ( "arr =" , arr) print ( "Result =" , ans) |
输出:
arr = [[30, -9], [8, nan]] Result = -9.0 |
与前面的示例类似,30、-9 和 8 的最小值为 8。
NumPy nanmin 沿数组的轴
轴 = 0
import numpy as np arr = [[ 16 , 4 ], [np.nan, 1 ]] # using the nanmin function to calculate the maximum ans = np.nanmin(arr, axis = 0 ) print ( "arr =" , arr) print ( "Result =" , ans) |
输出:
arr = [[16, 4], [nan, 1]] Result = [16. 1.] |
在这里,对特定列的每行中的值进行比较以找到最小元素。
ans[0] = min(arr[0][0], arr[1][0]) = min(16, np.nan) = 16 (ignoring NaN) ans[1] = min(arr[0][1], arr[1][1]) = min(4, 1) = 1 |
轴 = 1
import numpy as np arr = [[ 16 , 4 ], [np.nan, 1 ]] # using the nanmin function to calculate the maximum ans = np.nanmin(arr, axis = 1 ) print ( "arr =" , arr) print ( "Result =" , ans) |
输出:
arr = [[16, 4], [nan, 1]] Result = [4. 1.] |
当 axis=1时,将在所有列上比较每行中的元素以找到最小值。
ans[0] = min(arr[0][0], arr[0][1]) = min(16, 4) = 4 ans[1] = min(arr[1][0], arr[1][1]) = min(np.nan, 1) = 1 (ignoring NaN) |
包含无穷大的数组的 NumPy nanmin
现在让我们看看该 numpy.nanmin()
方法如何处理数组中的无穷大和 NaN。
import numpy as np # array containing +infinity a = np.array([ 16 , 3 , np.nan, 7 , np.inf]) # array containing -infinity b = np.array([ 16 , 3 , np.nan, 7 , np.NINF]) # array containing +infinity and -infinity c = np.array([ 16 , 3 , np.nan, np.NINF, 7 , np.inf]) min_a = np.nanmin(a) min_b = np.nanmin(b) min_c = np.nanmin(c) print ( "a =" , a) print ( "Minimum of the array a =" , min_a) print ( "\nb =" , b) print ( "Minimum of the array b =" , min_b) print ( "\nc =" , c) print ( "Minimum of the array c =" , min_c) |
输出:
a = [16. 3. nan 7. inf] Minimum of the array a = 3.0 b = [ 16. 3. nan 7. -inf] Minimum of the array b = -inf c = [ 16. 3. nan -inf 7. inf] Minimum of the array c = -inf |
在上面的代码中, NINF 表示 -infinity , inf 表示 infinity。注意,
- 如果数组包含 正无穷大 ,则最小值是 忽略 NaN 的整个数组的最小值。
- 如果数组包含 负无穷大 ,则最小值为负无穷大。
- 如果数组同时包含 正无穷大和负无穷大,则数组的最小值为 -inf,即 负无穷大。
结论
就这样!在本教程中,我们学习了 Numpy nanmin 方法,并使用该方法练习了不同类型的示例。
如果您想了解有关 NumPy 的更多信息,请随时阅读我们的 NumPy 教程。