「このチュートリアルでは、np.where()関数を使用して複数の条件を指定するために使用できるさまざまなメソッドを学習します。」
方法1– AND演算子を使用したNumPy.where()複数の条件
NumPyのwhere()関数を使用すると、特定の条件に一致する特定の配列から要素を選択できます。 デフォルトでは、関数は指定された要素の配列と照合する単一の条件を受け入れます。
特定の配列で複数の条件をチェックする必要がある場合はどうなりますか? そのために、Pythonの論理演算子を使用してそれを実現できます。
そのような演算子の1つは、&(AND)演算子です。 where関数内で複数の条件を指定し、それらを&演算子で追加および結合することができます。
この関数は、指定されたすべての条件を受け取り、すべての条件に一致する要素を返します。
以下に示す例でこれを説明できます。
輸入 numpy なので np
arr = np。配列(([100,120,344,232,343,456,674,637])。
new_arr = arr[np.where((arr>300) & (arr<500))]
印刷((new_arr)。
上記のプログラムでは、整数のセットを保持する配列を作成することから始めます。 次に、新しい配列を作成し、where関数を使用して複数の条件をフィルタリングします。 配列内のいずれかの要素が300より大きく500より小さい場合は、それを新しい配列に追加します。 最後に、結果の配列を出力します。
pythonどこ。py
[344 343 456]
&演算子を使用すると、両方の条件が真になります。
方法2– OR演算子を使用したNumPy.where()複数の条件
場合によっては、複数の条件のうち1つだけを真にしたいことがあります。 そのために、OR演算子を使用できます。 これは、提供されたすべての条件を評価する関数の場所を示し、指定された配列内のいずれかの要素がそれらの1つに一致する場合は、それを結果に追加します。
以下に示す結果の例を見てください。
輸入 numpy なので np
arr = np。配列(([100,120,344,232,343,456,674,637])。
new_arr = arr[np.where((arr>300) | (arr==500))]
印刷((new_arr)。
上記の例では、|を使用しています。 複数の条件を指定し、結果の値をnew_arr変数に格納する演算子。 入力配列のいずれかの要素が500以上の場合は、それを新しい配列に追加します。
結果の出力:
$pythonwhere。py
[344 343 456 674 637]
返されたすべての要素が300より大きいことがわかります。
方法3– Numpy.where()Numpy.logical_and()関数を使用した複数の条件
Pythonの論理演算子を使用したくない場合、NumPyには&演算子を置き換えることができるlogical_and()関数があります。
この関数は、ANDゲートの値の要素ごとの真理を判別するために使用されます。 この関数を採用して、NumPy where()関数で複数の条件を指定する方法を見てみましょう。
輸入 numpy なので np
arr = np。配列(([100,120,344,232,343,456,674,637])。
new_arr = arr[np.where(np.logical_and(arr>300, arr<400))]
印刷((new_arr)。
上記のコードでは、要素をフィルタリングする整数の配列を定義することから始めます。
次に、np.where()関数を使用して、評価する条件を渡します。 この場合、それらをnp.logical_and関数の引数として渡します。
この関数は条件を評価し、指定された値に一致する要素をフィルタリングします。
出力例は次のとおりです。
$pythonwhere。py
[344 343]
出力から、2つの要素のみが指定された条件に一致します。
方法4– Numpy.where()Numpy.logical_or()関数を使用した複数の条件
同様に、NumPyには、Pythonの論理ORと同じタスクを実行する関数があります。 numpy.logical_or()関数は、ORゲートの要素ごとの真の値を計算するために使用されます。
この場合、複数の条件を指定して、それらをnp.where()関数に渡すことができます。
コード例は次のとおりです。
輸入 numpy なので np
arr = np。配列(([100,120,344,232,343,456,674,637])。
new_arr = arr[np.where(np.logical_or(arr>300, arr%2==0))]
印刷((new_arr)。
ここで、関数は300より大きい要素または偶数の要素を返す必要があります。
結果の値は次のとおりです。
pythonどこ。py
[100 120 344 232 343 456 674 637]
できます。
閉鎖
これで終わりです。 このチュートリアルでは、logical or、logical and、numpyのlogical_and関数、およびnumpyのlogical_or関数を使用して、NumPy where()関数で複数の条件を指定する方法を学習しました。
読んでくれてありがとう!!
The post NumPynp.where複数の条件 appeared first on Gamingsym Japan.