Indexação Booleana

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.

Indexação Booleana

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, Truee False:

b = np.array([True, True, False])Linguagem de código:  Python  ( python )

Terceiro, use o array booleano bcomo índice do array ae 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 bsã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 arange()função:

a = np.arange(1, 10)Linguagem de código:  Python  ( python )

Segundo, crie um array booleano a partir da seguinte expressão:

b = a > 5Linguagem de código:  Python  ( python )

Esta expressão compara cada elemento da matriz ae 5retorna Truese for maior 5ou Falsenã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 bcomo índice do array ae atribua o resultado à variável c:

c = a[b]Linguagem de código:  Python  ( python )

A matriz ccontém apenas números de array a, que são maiores que 5.

Resumo

  • Use indexação booleana para filtrar uma matriz.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *