Як використовувати 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

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

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