Как фильтровать массив 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, содержащие определенную строку
Как фильтровать DataFrame Pandas по нескольким условиям
Как использовать фильтр «НЕ В» в Pandas DataFrame

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *