Como filtrar um array numpy (4 exemplos)


Você pode usar os seguintes métodos para filtrar os valores de um array NumPy:

Método 1: Filtrar valores com base em uma única condição

 #filter for values less than 5
my_array[my_array < 5 ]

Método 2: Filtrar valores usando a condição “OR”

 #filter for values less than 5 or greater than 9
my_array[(my_array < 5 ) | (my_array > 9 )]

Método 3: Filtrar valores usando a condição “AND”

 #filter for values greater than 5 and less than 9
my_array[(my_array > 5 ) & (my_array < 9 )]

Método 4: Filtre os valores contidos na lista

 #filter for values that are equal to 2, 3, 5, or 12
my_array[np. in1d (my_array, [2, 3, 5, 12])]

Este tutorial explica como usar cada método na prática com o seguinte array NumPy:

 import numpy as np

#create NumPy array
my_array = np. array ([1, 2, 2, 3, 5, 6, 7, 10, 12, 14])

#view NumPy array
my_array

array([ 1, 2, 2, 3, 5, 6, 7, 10, 12, 14])

Exemplo 1: Filtrar valores com base em uma condição

O código a seguir mostra como filtrar os valores da matriz NumPy com base em uma única condição:

 #filter for values less than 5
my_array[(my_array < 5 )]

array([1, 2, 2, 3])

#filter for values greater than 5
my_array[(my_array > 5 )]

array([6,7,10,12,14])

#filter for values equal to 5
my_array[(my_array == 5 )]

array([5])

Exemplo 2: Filtrar valores usando a condição “OR”

O código a seguir mostra como filtrar os valores do array NumPy usando uma condição “OR”:

 #filter for values less than 5 or greater than 9
my_array[(my_array < 5 ) | (my_array > 9 )]

array([ 1, 2, 2, 3, 10, 12, 14])

Este filtro retorna valores do array NumPy menores que 5 ou maiores que 9.

Exemplo 3: Filtrar valores usando a condição “AND”

O código a seguir mostra como filtrar os valores do array NumPy usando uma condição “AND”:

 #filter for values greater than 5 and less than 9
my_array[(my_array > 5 ) & (my_array < 9 )]

array([6, 7])

Este filtro retorna valores do array NumPy maiores que 5 e menores que 9.

Exemplo 4: filtre os valores contidos na lista

O código a seguir mostra como filtrar os valores do array NumPy contidos em uma lista:

 #filter for values that are equal to 2, 3, 5, or 12
my_array[np. in1d (my_array, [2, 3, 5, 12])]

array([ 2, 2, 3, 5, 12])

Este filtro retorna apenas valores iguais a 2, 3, 5 ou 12.

Nota : Você pode encontrar a documentação completa para a função NumPy in1d() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns de filtragem em Python:

Como filtrar linhas do Pandas DataFrame que contêm uma string específica
Como filtrar um DataFrame do Pandas em múltiplas condições
Como usar o filtro “NOT IN” no Pandas DataFrame

Add a Comment

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