Funzione Python Numpy.where()
-
Sintassi di
numpy.where()
-
Codici di esempio:
numpy.where()
Senza[X, Y]
-
Codici di esempio:
numpy.where()
con array 1-D -
Codici di esempio:
numpy.where()
con 2-D Array -
Codici di esempio:
numpy.where()
con più condizioni
La funzione Numpy.where()
genera gli indici dell’array che soddisfano la condizione di input, se x
, y
non sono dati; o gli elementi dell’array da x
o y
in base alla condizione data.
Sintassi di numpy.where()
numpy.where(condition, [x, y])
Parametri
condition |
array_like, True o False Se la condizione è True , l’output contiene l’elemento da x , altrimenti l’output contiene l’elemento da y |
x,y |
array da cui viene generato il ritorno Passa entrambi x,y o nessuno. |
Ritorno
Restituisce un array. Se la condizione è True
, il risultato contiene elementi di x, e se la condizione è False
, il risultato contiene elementi di y.
Restituisce gli indici dell’array se x, y
non sono forniti.
Codici di esempio: numpy.where()
Senza [X, Y]
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where(m > 3)
print(n)
Produzione:
(array([3, 4], dtype=int64),)
Restituisce gli indici di m
, dove il suo elemento è maggiore di 3 - a > 3
.
Se hai bisogno dell’elemento piuttosto che degli indici.
Codici di esempio: numpy.where()
con array 1-D
import numpy as np
m = np.where([True, False, True], [1,2,3], [4, 5, 6])
print(m)
Produzione:
[1 5 3]
Quando la condizione è un array 1-D, la funzione Numpy.where()
itera sull’array della condizione e seleziona l’elemento da x
se l’elemento condizione è True
, o l’elemento da y
se il l’elemento condizione è False
.
Codici di esempio: numpy.where()
con 2-D Array
import numpy as np
x = np.array([[10, 20, 30], [3, 50, 5]])
y = np.array([[70, 80, 90], [100, 110, 120]])
condition = np.where(x > 20, x, y)
print("Input array :")
print(x)
print(y)
print("Output array with condition applied:")
print(condition)
Produzione:
Input array :
[[10 20 30]
[ 3 50 5]]
[[ 70 80 90]
[100 110 120]]
Output array with condition applied:
[[ 70 80 30]
[100 50 120]]
Applica la condizione di x>20
a tutti gli elementi di x
, se è True
, allora l’elemento di x restituisce come output, e se è False
, restituisce l’elemento di y
.
Facciamo un esempio semplificato per mostrare come funziona.
import numpy as np
m = np.where(
[[True, False, True], [False, True, False]],
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]],
)
print(m)
Produzione:
[[ 1 8 3]
[10 5 12]]
Codici di esempio: numpy.where()
con più condizioni
Potremmo anche applicare due o più condizioni nella funzione numpy.where()
.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m > 1) & (m < 5), m, 0)
print(n)
Produzione:
[0 2 3 4 0]
Applica le condizioni multiple, m > 1
e m < 5
, e restituisce l’elemento se l’elemento soddisfa entrambe le condizioni.
La logica tra le condizioni multiple non è limitata a AND
(&
), ma è accettata anche OR
(|
).
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m < 2) | (m > 4), m, 0)
print(n)
Produzione:
[1 0 0 0 5]