Filtragem de Matrizes NumPy
- Página Anterior Ordenação de Matrizes NumPy
- Próxima Página Aleatoriedade NumPy
Recomendação de curso:
Filtrar arrays
No NumPy, usamos uma lista de índices booleanos para filtrar arrays.
Uma lista de índices booleanos é uma lista de valores booleanos correspondentes aos índices do array.
se o valor no índice for True
então o elemento será incluído no array filtrado; se o valor no índice for False
então o elemento será excluído do array filtrado.
Exemplo
Crie um array usando os elementos nos índices 0 e 2, 4:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
O exemplo anterior retornará [61, 63, 65]
porque?
Porque o novo filtro contém apenas os valores do array de filtros True
do valor, então, neste caso, os índices são 0 e 2, 4.
um array de filtros
No exemplo anterior, criamos True
e False
O valor é hardcodeado, mas geralmente é usado para criar um array de filtros com base em condições.
Exemplo
Crie um array de filtro que retorna apenas valores maiores que 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Crie uma lista vazia filter_arr = [] # Varre cada elemento no arr for element in arr: # Se o elemento for maior que 62, o valor será definido como True, caso contrário, como False: se element > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Exemplo
Crie um array de filtro que retorna apenas os elementos pares do array original:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Crie uma lista vazia filter_arr = [] # Varre cada elemento no arr for element in arr: # Se o elemento for divisível por 2, configure o valor para True, caso contrário, configure para False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Criar diretamente um array de filtro
O exemplo é uma tarefa muito comum no NumPy, o NumPy oferece boas soluções para o problema.
Podemos substituir o array diretamente na condição em vez da variável iterable, ele funcionará conforme esperado.
Exemplo
Crie um array de filtro que retorna apenas valores maiores que 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
Exemplo
Crie um array de filtro que retorna apenas os elementos pares do array original:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
- Página Anterior Ordenação de Matrizes NumPy
- Próxima Página Aleatoriedade NumPy