测试数组值是否为 NaN,并将结果存储在 Numpy 中的新位置
numpyserver side programmingprogramming更新于 2025/9/26 4:37:17
要测试数组值是否为 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法。我们将存储结果的新位置是一个新数组。当 x 为 NaN 时返回 True,否则返回 false。如果 x 是标量,则返回 false。条件通过输入进行广播。在条件为 True 的位置,输出数组将设置为 ufunc 的结果。在其他位置,输出数组将保留其原始值。请注意,如果通过默认的 out=None 创建了未初始化的输出数组,则其中条件为 False 的位置将保持未初始化状态。
NumPy 使用 IEEE 二进制浮点算术标准 (IEEE 754)。这意味着"非数字"不等同于无穷大。
步骤
首先,导入所需的库 −
import numpy as np
创建一个包含一些 NaN 值的数组 −
arr = np.array([1, 2, 10, 50, -np.nan, 0., np.nan, np.inf])
显示数组 −
print("数组...
", arr)
获取数组的类型 −
print("
我们的数组类型...
", arr.dtype)
获取数组的维度 −
print("
我们的数组维度...
",arr.ndim)
获取数组中元素的数量 −
print("
元素数量...
", arr.size)
创建另一个具有相同形状的数组来存储结果 −
arrRes = np.array([5, 5, 5, 5, 5, 5, 5, 5])
要测试数组值是否为 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法。我们将存储结果的新位置是 arrRes −
print("
测试数组是否为 NaN...
",np.isnan(arr, arrRes))
检查存储结果的新数组的值−
print("
结果...
",arrRes)
示例
import numpy as np
# 创建一个包含一些 NaN 值的数组
arr = np.array([1, 2, 10, 50, -np.nan, 0., np.nan, np.inf])
# 显示数组
print("数组...
", arr)
# 获取数组的类型
print("
我们的数组类型...
", arr.dtype)
# 获取数组的维度
print("
我们的数组维度...
",arr.ndim)
# 获取数组中元素的数量
print("
元素数量...
", arr.size)
# 创建另一个形状相同的数组来存储结果
arrRes = np.array([5, 5, 5, 5, 5, 5, 5, 5])
# 要测试数组值是否为 NaN,请使用 Python Numpy 中的 numpy.isnan() 方法
# 我们将存储结果的新位置是 arrRes
print("
测试数组是否为 NaN...
",np.isnan(arr, arrRes))
# 检查存储结果的新数组的值
print("
结果...
",arrRes)
输出
数组... [ 1. 2. 10. 50. nan 0. nan inf] 我们的数组类型…… float64 我们的数组维度…… 1 元素数量... 8 测试数组中的 NaN... [0 0 0 0 1 0 1 0] 结果... [0 0 0 0 1 0 1 0]

