Jak filtrować tablicę numpy (4 przykłady)
Do filtrowania wartości tablicy NumPy możesz użyć następujących metod:
Metoda 1: Filtruj wartości na podstawie jednego warunku
#filter for values less than 5 my_array[my_array < 5 ]
Metoda 2: Filtruj wartości za pomocą warunku „LUB”.
#filter for values less than 5 or greater than 9 my_array[(my_array < 5 ) | (my_array > 9 )]
Metoda 3: Filtruj wartości za pomocą warunku „AND”.
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )]
Metoda 4: Przefiltruj wartości zawarte na liście
#filter for values that are equal to 2, 3, 5, or 12 my_array[np. in1d (my_array, [2, 3, 5, 12])]
W tym samouczku wyjaśniono, jak w praktyce używać każdej metody z następującą tablicą 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])
Przykład 1: Filtruj wartości na podstawie warunku
Poniższy kod pokazuje jak filtrować wartości tablicy NumPy na podstawie pojedynczego warunku:
#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])
Przykład 2: Filtruj wartości za pomocą warunku „LUB”.
Poniższy kod pokazuje, jak filtrować wartości tablicy NumPy za pomocą warunku „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])
Ten filtr zwraca wartości tablicy NumPy mniejsze niż 5 lub większe niż 9.
Przykład 3: Filtruj wartości za pomocą warunku „AND”.
Poniższy kod pokazuje, jak filtrować wartości tablicy NumPy za pomocą warunku „AND”:
#filter for values greater than 5 and less than 9 my_array[(my_array > 5 ) & (my_array < 9 )] array([6, 7])
Filtr ten zwraca wartości z tablicy NumPy większe niż 5 i mniejsze niż 9.
Przykład 4: przefiltruj wartości zawarte na liście
Poniższy kod pokazuje jak filtrować wartości tablicy NumPy zawarte na liście:
#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])
Ten filtr zwraca tylko wartości równe 2, 3, 5 lub 12.
Uwaga : pełną dokumentację funkcji NumPy in1d() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje filtrowania w Pythonie:
Jak filtrować wiersze Pandas DataFrame zawierające określony ciąg
Jak filtrować ramkę danych Pandas pod wieloma warunkami
Jak korzystać z filtra „NIE W” w Pandas DataFrame