如何在 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 中执行其他常见任务:
如何用值填充 NumPy 数组
如何从 NumPy 数组中删除特定元素
如何替换 NumPy 数组中的元素
如何从 NumPy 数组中获取特定行