Selecciones con booleanos

Partamos del siguiente array de una dimensión y 7 elementos:

Indexado con booleanos

Es posible realizar una selección utilizando una lista (o una tupla, o incluso un array NumPy) de booleanos:

Indexado con booleanos

Obsérvese que la lista de booleanos usada para realizar la selección en el array es de la misma longitud que el array pues, de otro modo, la selección devolvería un error:

Indexado con booleanos

El resultado que vemos en [57] es otro array NumPy formado por aquellos valores del array original para los que el booleano de la máscara toma el valor True (los elementos 1, 2, 4 y 7, en nuestro ejemplo).

Esta técnica de selección nos permite utilizar operadores lógicos y obtener potentes resultados de una forma muy sencilla. Así, por ejemplo, si seguimos partiendo del array a ya mencionado, podemos utilizar la siguiente máscara:

Indexado con booleanos

Si ahora usamos esta máscara para realizar una selección en el array a, obtenemos lo siguiente:

Indexado con booleanos

Nada nos impide saltarnos el paso de definir la variable "mask" explícitamente y generar el array de booleanos directamente en la definición de la selección:

Indexado con booleanos