Jak używać numpy where() z wieloma warunkami
Aby użyć funkcji NumPywhere() z wieloma warunkami, możesz użyć następujących metod:
Metoda 1: Użyj Where() z OR
#select values less than five or greater than 20 x[np. where ((x < 5) | (x > 20))]
Metoda 2: Użyj Where() z AND
#select values greater than five and less than 20 x[np. where ((x > 5) & (x < 20))]
Poniższy przykład pokazuje, jak zastosować każdą metodę w praktyce.
Metoda 1: Użyj Where() z OR
Poniższy kod pokazuje, jak wybrać każdą wartość w tablicy NumPy mniejszą niż 5 lub większą niż 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])
Zauważ, że cztery wartości w tablicy NumPy były mniejsze niż 5 lub większe niż 20.
Możesz także użyć funkcji rozmiaru , aby po prostu dowiedzieć się, ile wartości spełnia jeden z warunków:
#find number of values that are less than 5 or greater than 20
(x[np. where ((x < 5) | (x > 20))]). size
4
Metoda 2: Użyj Where() z AND
Poniższy kod pokazuje, jak wybrać każdą wartość z tablicy NumPy większą niż 5 i mniejszą niż 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])
Tablica wyjściowa wyświetla siedem wartości z oryginalnej tablicy NumPy, które były większe niż 5 i mniejsze niż 20.
Ponownie możesz użyć funkcji rozmiaru , aby określić, ile wartości spełnia oba warunki:
#find number of values that are greater than 5 and less than 20
(x[np. where ((x > 5) & (x < 20))]). size
7
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w NumPy:
Jak obliczyć tryb tablicy NumPy
Jak znaleźć indeks wartości w tablicy NumPy
Jak zmapować funkcję na tablicę NumPy