Come sostituire i valori negativi con zero in numpy
È possibile utilizzare la seguente sintassi di base per sostituire i valori negativi con zero in NumPy:
my_array[my_array < 0 ] = 0
Questa sintassi funziona con gli array NumPy 1D e 2D.
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: sostituisci i valori negativi con zero in un array NumPy 1D
Il codice seguente mostra come sostituire tutti i valori negativi con zero in un array NumPy:
import numpy as np
#create 1D NumPy array
my_array = np. array ([4, -1, 6, -3, 10, 11, -14, 19, 0])
#replace negative values with zero in array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[4 0 6 0 10 11 0 19 0]
Nota che ogni valore negativo nell’array originale è stato sostituito con zero.
Esempio 2: sostituisci i valori negativi con zero in un array 2D NumPy
Supponiamo di avere il seguente array NumPy 2D:
import numpy as np
#create 2D NumPy array
my_array = np. array ([3, -5, 6, 7, -1, 0, -5, 9, 4, 3, -5, 1]). reshape (4.3)
#view 2D NumPy array
print (my_array)
[[ 3 -5 6]
[ 7 -1 0]
[-5 9 4]
[3 -5 1]]
Possiamo usare il seguente codice per sostituire tutti i valori negativi con zero nell’array NumPy:
#replace all negative values with zero in 2D array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[[3 0 6]
[7 0 0]
[0 9 4]
[3 0 1]]
Si noti che tutti i valori negativi nell’array 2D originale sono stati sostituiti con zero.
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