Como substituir valores nan por zero no numpy
Você pode usar a seguinte sintaxe básica para substituir valores NaN por zero em NumPy:
my_array[np. isnan (my_array)] = 0
Esta sintaxe funciona com matrizes e arrays.
Os exemplos a seguir mostram como usar essa sintaxe na prática.
Exemplo 1: Substitua os valores NaN por zero na matriz NumPy
O código a seguir mostra como substituir todos os valores NaN por zero em um array NumPy:
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.]
Observe que ambos os valores NaN da tabela original foram substituídos por zero.
Exemplo 2: Substitua os valores NaN por zero na matriz NumPy
Suponha que temos a seguinte matriz 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.]]
Podemos usar o seguinte código para substituir todos os valores NaN por zero na matriz NumPy:
#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.]]
Observe que ambos os valores NaN da matriz original foram substituídos por zero.
Relacionado: Como remover valores NaN do array NumPy
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no NumPy:
Como preencher um array NumPy com valores
Como remover elementos específicos do array NumPy
Como substituir elementos em um array NumPy
Como obter uma linha específica de um array NumPy