测试数组值是否为 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]

相关文章