Tengo dos matrices NumPy, por ejemplo:¿Cómo se filtra una matriz numpy usando los valores de otra matriz?
a = [1,2,3,4,5]
y un conjunto de filtros, por ejemplo:
f = [False, True, False, False, True]
len(a) == len(f)
¿Cómo puedo obtener una nueva matriz numpy con sólo los valores en una donde el mismo índice de f
es cierto? En mi caso: [2, 5]
.
De acuerdo con la solución aceptada (con diferentes valores):
>>> a = numpy.array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> b = numpy.array([True, False, True, False, True, False, True, False, True, False])
>>> a[b]
array([1, 3, 5, 7, 9])
parece que b es una lista, no una matriz, b debe ser una matriz booleana. Pruebe 'b = np.asarray (b, 'bool')' –