Resumo : neste tutorial, você aprenderá como acessar elementos de um array numpy usando indexação booleana.
Introdução à indexação booleana de array numpy
Numpy permite que você use um array de valores booleanos como índice de outro array. Cada elemento da matriz booleana indica se os elementos da matriz devem ou não ser selecionados.
Se o valor for True
, o elemento desse índice será selecionado. Caso o valor seja False
, o elemento desse índice não é selecionado.
O exemplo a seguir usa indexação booleana para selecionar elementos de uma matriz numpy usando uma matriz de valores booleanos:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([True, True, False])
c = a[b]
print(c)
Linguagem de código: Python ( python )
Saída:
[1 2]
Linguagem de código: Python ( python )
Como funciona.
Primeiro, crie um novo array numpy que inclua três números de 1 a 3:
a = np.array([1, 2, 3])
Linguagem de código: Python ( python )
Em segundo lugar, crie outra matriz numpy com três valores booleanos True
, True
e False
:
b = np.array([True, True, False])
Linguagem de código: Python ( python )
Terceiro, use o array booleano b
como índice do array a
e atribua os elementos selecionados à variável c
:
c = a[b]
Linguagem de código: Python ( python )
Como o primeiro e o segundo elementos do array b
são True
, a[b]
retorna um novo array com o primeiro e o segundo elementos do array a
.
Normalmente, você usará a indexação booleana para filtrar uma matriz. Por exemplo:
import numpy as np
a = np.arange(1, 10)
b = a > 5
print(b)
c = a[b]
print(c)
Linguagem de código: Python ( python )
Saída:
[False False False False False True True True True]
[6 7 8 9]
Linguagem de código: Python ( python )
Como funciona.
Primeiro, crie um array com 9 números de 1 a 9 usando a
função:arange()
a = np.arange(1, 10)
Linguagem de código: Python ( python )
Segundo, crie um array booleano a partir da seguinte expressão:
b = a > 5
Linguagem de código: Python ( python )
Esta expressão compara cada elemento da matriz a
e 5
retorna True
se for maior 5
ou False
não. A variável b
é uma matriz de valores booleanos:
[False False False False False True True True True]
Linguagem de código: Python ( python )
Terceiro, use o array b
como índice do array a
e atribua o resultado à variável c
:
c = a[b]
Linguagem de código: Python ( python )
A matriz c
contém apenas números de array a
, que são maiores que 5
.
Resumo
- Use indexação booleana para filtrar uma matriz.