Encuentre dónde una matriz NumPy es igual a cualquier valor en una lista de valores
Tengo una matriz de enteros y quiero encontrar dónde esa matriz es igual a cualquier valor en una lista de valores múltiples.
Esto se puede hacer fácilmente tratando cada valor individualmente, o usando varias declaraciones "o" en un bucle, pero creo que debe haber una forma mejor / más rápida de hacerlo. En realidad estoy tratando con matrices de tamaño4000 x 2000
, pero aquí hay una edición simplificada del problema:
fake = arange(9).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
want = (fake==0) + (fake==2) + (fake==6) + (fake==8)
print want
array([[ True, False, True],
[False, False, False],
[ True, False, True]], dtype=bool)
Lo que me gustaría es una forma de conseguirlo.want
a partir de un solo comando que involucrafake
y la lista de valores[0, 2, 6, 8]
.
Supongo que hay un paquete que ya tiene esto incluido que sería significativamente más rápido que si escribiera una función con un bucle en Python.