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
。