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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *