Función Python Numpy.where()
-
La sintaxis de
numpy.where()
-
Códigos de ejemplo:
numpy.where()
Sin[X, Y]
-
Códigos de ejemplo:
numpy.where()
Con 1-D Array -
Códigos de ejemplo:
numpy.where()
Con 2-D Array -
Códigos de ejemplo:
numpy.where()
Con múltiples condiciones
La función Numpy.where()
genera los índices de el array que cumplen la condición de entrada, si x
, y
no están dados; o los elementos de el array de x
o y
basados en la condición dada.
La sintaxis de numpy.where()
numpy.where(condition, [x, y])
Parámetros
condition |
array_like, True o False Si la condición es True , la salida contiene el elemento de x , de lo contrario, la salida contiene el elemento de y . |
x,y |
de la cual el retorno genera Ya sea que pasen ambos (x, y) o ninguno. |
Retorno
Devuelve una matriz
. Si la condición es True
, el resultado contiene elementos de x, y si la condición es False
, el resultado contiene elementos de y.
Devuelve índices de el array es x, y
no se dan.
Códigos de ejemplo: numpy.where()
Sin [X, Y]
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where(m > 3)
print(n)
Resultado:
(array([3, 4], dtype=int64),)
Devuelve los índices de m
, donde su elemento es mayor que 3 - a > 3
.
Si necesitas el elemento en lugar de los índices,
Códigos de ejemplo: numpy.where()
Con 1-D Array
import numpy as np
m = np.where([True, False, True], [1,2,3], [4, 5, 6])
print(m)
Resultado:
[1 5 3]
Cuando la condición es un array 1-D, numpy.where()
función itera sobre el array de condiciones, y escoge el elemento de x
si el elemento de condición es True
, o el elemento de y
si el elemento de condición es False
.
Códigos de ejemplo: 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)
Resultado:
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]]
Aplica la condición de x>20
a todos los elementos de x
, si es True
, entonces el elemento de x
da como salida, y si es False
, da el elemento de y
.
Hacemos un ejemplo simplificado para mostrar cómo funciona.
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)
Resultado:
[[ 1 8 3]
[10 5 12]]
Códigos de ejemplo: numpy.where()
Con múltiples condiciones
También podríamos aplicar dos o múltiples condiciones en la función 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)
Resultado:
[0 2 3 4 0]
Aplica las condiciones múltiples, m > 1
y m < 5
, y devuelve el elemento si éste satisface ambas condiciones.
La lógica entre las condiciones múltiples no se limita a AND
(&
), sino que también se acepta OR
(|
).
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m < 2) | (m > 4), m, 0)
print(n)
Resultado:
[1 0 0 0 5]