複数の条件で 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 配列内の 4 つの値が 5 未満または20 を超えていたことに注意してください。

サイズ関数を使用して、条件の 1 つを満たす値の数を単純に見つけることもできます。

 #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 とともに使用する

次のコードは、5 より大きく20 未満の NumPy 配列から各値を選択する方法を示しています。

 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未満の 7 つの値が表示されます。

繰り返しますが、 size関数を使用して、両方の条件を満たす値の数を決定できます。

 #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 配列にマップする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です