Come sostituire i valori nan con zero in numpy
È possibile utilizzare la seguente sintassi di base per sostituire i valori NaN con zero in NumPy:
my_array[np. isnan (my_array)] = 0
Questa sintassi funziona sia con matrici che con array.
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: sostituisci i valori NaN con zero nell’array NumPy
Il codice seguente mostra come sostituire tutti i valori NaN con zero in un 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.]
Si noti che entrambi i valori NaN nella tabella originale sono stati sostituiti con zero.
Esempio 2: sostituisci i valori NaN con zero nella matrice NumPy
Supponiamo di avere la seguente matrice 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.]]
Possiamo usare il seguente codice per sostituire tutti i valori NaN con zero nella matrice 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.]]
Si noti che entrambi i valori NaN della matrice originale sono stati sostituiti con zero.
Correlati: come rimuovere i valori NaN dall’array NumPy
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in NumPy:
Come riempire un array NumPy con valori
Come rimuovere elementi specifici dall’array NumPy
Come sostituire gli elementi in un array NumPy
Come ottenere una riga specifica da un array NumPy