Как использовать numpy where() с несколькими условиями
Вы можете использовать следующие методы для использования функции NumPywhere() с несколькими условиями:
Способ 1: используйте Where() с OR
#select values less than five or greater than 20 x[np. where ((x < 5) | (x > 20))]
Способ 2: используйте Where() с оператором AND
#select values greater than five and less than 20 x[np. where ((x > 5) & (x < 20))]
В следующем примере показано, как использовать каждый метод на практике.
Способ 1: используйте Where() с OR
Следующий код показывает, как выбрать каждое значение в массиве NumPy меньше 5 или больше 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet one of two conditions x[np. where ((x < 5) | (x > 20))] array([ 1, 3, 3, 22])
Обратите внимание, что четыре значения в массиве NumPy были меньше 5 или больше 20.
Вы также можете использовать функцию размера , чтобы просто узнать, сколько значений соответствует одному из условий:
#find number of values that are less than 5 or greater than 20
(x[np. where ((x < 5) | (x > 20))]). size
4
Способ 2: используйте Where() с оператором AND
Следующий код показывает, как выбрать каждое значение из массива NumPy больше 5 и меньше 20:
import numpy as np #define NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9, 12, 13, 15, 18, 20, 22]) #select values that meet two conditions x[np. where ((x > 5) & (x < 20))] array([6, 7, 9, 12, 13, 15, 18])
Выходной массив отображает семь значений из исходного массива NumPy, которые были больше 5 и меньше 20.
Опять же, вы можете использовать функцию размера , чтобы определить, сколько значений соответствует обоим условиям:
#find number of values that are greater than 5 and less than 20
(x[np. where ((x > 5) & (x < 20))]). size
7
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:
Как рассчитать режим массива NumPy
Как найти индекс значения в массиве NumPy
Как сопоставить функцию с массивом NumPy