如何在 numpy 中用零替换 nan 值


您可以使用以下基本语法在 NumPy 中用零替换 NaN 值:

 my_array[np. isnan (my_array)] = 0

此语法适用于矩阵和数组。

以下示例展示了如何在实践中使用此语法。

示例 1:将 NumPy 数组中的 NaN 值替换为零

以下代码展示了如何将 NumPy 数组中的所有 NaN 值替换为零:

 import numpy as np

#create array of data
my_array = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#replace nan values with zero in array
my_array[np. isnan (my_array)] = 0

#view updated array
print (my_array)

[4.0.6.0.10.11.14.19.22.]

请注意,原表中的两个 NaN 值均已替换为零。

示例 2:将 NumPy 矩阵中的 NaN 值替换为零

假设我们有以下 NumPy 矩阵:

 import numpy as np

#create NumPy matrix
my_matrix = np. matrix ( np.array ([np.nan,4,3,np.nan,8,12]). reshape ((3,2)))

#view NumPy matrix
print (my_matrix)

[[nah 4.]
 [ 3. nah]
 [8.12.]]

我们可以使用以下代码将 NumPy 矩阵中的所有 NaN 值替换为零:

 #replace nan values with zero in matrix
my_matrix[np. isnan (my_matrix)] = 0

#view updated array
print (my_matrix)

[[ 0. 4.]
 [ 30.]
 [8.12.]]

请注意,原始矩阵中的两个 NaN 值均已替换为零。

相关:如何从 NumPy 数组中删除 NaN 值

其他资源

以下教程解释了如何在 NumPy 中执行其他常见任务:

如何用值填充 NumPy 数组
如何从 NumPy 数组中删除特定元素
如何替换 NumPy 数组中的元素
如何从 NumPy 数组中获取特定行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注