在 Numpy 中逐元素测试 NaN

numpyserver side programmingprogramming更新于 2025/9/26 6:37:17

要逐元素测试 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法。当 x 为 NaN 时返回 True,否则返回 false。如果 x 是标量,则返回标量。该条件通过输入进行广播。在条件为 True 的位置,输出数组将设置为 ufunc 的结果。在其他位置,输出数组将保留其原始值。请注意,如果通过默认的 out=None 创建了未初始化的输出数组,则其中条件为 False 的位置将保持未初始化状态。

NumPy 使用 IEEE 二进制浮点算术标准 (IEEE 754)。这意味着"非数字"不等同于无穷大。

步骤

首先,导入所需的库 −

import numpy as np

要逐个元素测试 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法。

检查数字是否为负数

print("检查 NaN 是否为负数?", np.isnan(1))
print("
检查 NaN 是否为负数?", np.isnan(0))

检查浮点数是否为负数

print("
检查 NaN 是否为负数?", np.isnan(14.)) print("
检查 NaN 是否为负数?", np.isnan(3.6))

检查 NaN 是否为负数

print("
检查是否为 NaN?", np.isnan(np.nan)) print("
检查是否为 NaN?", np.isnan(np.NAN))

检查无穷大 −

print("
检查是否为 NaN?", np.isnan(np.inf)) print("
检查是否为 NaN?", np.isnan(np.NINF))

检查对数 −

print("
检查是否为 NaN?", np.isnan(np.log(1))) print("
检查是否为 NaN? ", np.isnan(np.log(2)))

示例

import numpy as np

# 要按元素测试 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法

print("检查是否为 NaN?", np.isnan(1))
print("
检查 NaN?", np.isnan(0)) # 检查是否有浮动 print("
检查 NaN?", np.isnan(14.)) print("
检查 NaN?", np.isnan(3.6)) # 检查 NaN print("
检查 NaN?", np.isnan(np.nan)) print("
检查 NaN?", np.isnan(np.NAN)) # 检查是否为无穷大 print("
检查 NaN 吗?", np.isnan(np.inf)) print("
检查 NaN?", np.isnan(np.NINF)) # 检查日志 print("
检查 NaN?", np.isnan(np.log(1))) print("
检查 NaN?", np.isnan(np.log(2)))

输出

检查是否为 NaN?False

检查是否为 NaN?False

检查是否为 NaN?False

检查是否为 NaN?False

检查是否为 NaN?True

检查是否为 NaN?True

检查是否为 NaN?False

检查是否为 NaN?False

检查是否为 NaN?False

检查是否为 NaN?False

相关文章