1. numpy.isnan
numpy.isnan 用于检查数组中的元素是否是 NaN(Not a Number)。它返回一个与输入数组形状相同的布尔数组,表示每个元素是否为 NaN。NaN 通常表示未定义或无效的数值。
函数签名:
numpy.isnan(x)
参数:
x:要检查的数组。
返回值:
- 返回一个布尔数组,如果
x中的元素是NaN,对应位置返回True,否则返回False。
示例代码:
import numpy as np# 创建一个包含 NaN 的数组
arr = np.array([1, 2, np.nan, 4])# 检查每个元素是否为 NaN
result = np.isnan(arr)
print(result)
2. numpy.isfinite
numpy.isfinite 用于检查数组中的元素是否为有限数。有限数包括所有实数,除了 NaN(Not a Number)、+/- Inf(正无穷和负无穷)。
函数签名:
numpy.isfinite(x)
参数:
x:要检查的数组。
返回值:
- 返回一个布尔数组,如果
x中的元素是有限的,返回True,否则返回False(例如无穷大或NaN会返回False)。
示例代码:
import numpy as np# 创建一个包含 NaN 和无穷大的数组
arr = np.array([0, 1, 2, np.inf, -np.inf, np.nan, 4])# 检查每个元素是否为有限数
result = np.isfinite(arr)
print(result)
区别与对比:
numpy.isnan只检查NaN,而对于无穷大和其他数值(包括有限数),返回False。numpy.isfinite检查是否为有限数,对于NaN和无穷大(+/- Inf)都返回False,而对于有限数返回True。
