Як відфільтрувати масив numpy (4 приклади)


Ви можете використовувати наступні методи для фільтрації значень масиву NumPy:

Спосіб 1: Фільтруйте значення на основі однієї умови

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

Спосіб 2: фільтрування значень за допомогою умови «АБО».

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

Спосіб 3: Фільтруйте значення за допомогою умови «І».

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

Спосіб 4: відфільтруйте значення, що містяться в списку

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

Цей посібник пояснює, як використовувати кожен метод на практиці з наступним масивом 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])

Приклад 1: значення фільтра на основі умови

Наступний код показує, як фільтрувати значення масиву NumPy на основі однієї умови:

 #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])

Приклад 2: Фільтруйте значення за допомогою умови «АБО».

Наступний код показує, як фільтрувати значення масиву NumPy за допомогою умови «АБО»:

 #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])

Цей фільтр повертає значення масиву NumPy менше 5 або більше 9.

Приклад 3: Фільтруйте значення за допомогою умови «І».

Наступний код показує, як фільтрувати значення масиву NumPy за допомогою умови «І»:

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

array([6, 7])

Цей фільтр повертає значення з масиву NumPy більше 5 і менше 9.

Приклад 4: відфільтрувати значення, що містяться в списку

Наступний код показує, як фільтрувати значення масиву NumPy, що містяться в списку:

 #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])

Цей фільтр повертає лише значення, що дорівнюють 2, 3, 5 або 12.

Примітка . Ви можете знайти повну документацію для функції NumPy in1d() тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції фільтрації в Python:

Як відфільтрувати рядки Pandas DataFrame, які містять певний рядок
Як відфільтрувати Pandas DataFrame за кількома умовами
Як використовувати фільтр «NOT IN» у Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *