Numpy NP.où plusieurs conditions

Numpy NP.où plusieurs conditions
Dans ce tutoriel, vous apprendrez les différentes méthodes que vous pouvez utiliser pour spécifier plusieurs conditions à l'aide du NP.Fonction où ().

Méthode 1 - Numpy.où () conditions multiples en utilisant l'opérateur et

La fonction où () dans Numpy nous permet de sélectionner des éléments d'un tableau donné qui correspondent à une condition donnée. Par défaut, la fonction accepte une condition unique pour correspondre à la table d'éléments donnée. Et si nous devons vérifier plusieurs conditions dans un tableau donné? À cette fin, nous pouvons utiliser les opérateurs logiques de Python pour accomplir cela. Un de ces opérateurs est l'opérateur & (et). Il nous permet de spécifier plusieurs conditions à l'intérieur de la fonction où et d'ajouter et de les rejoindre avec l'opérateur. La fonction prendra toutes les conditions spécifiées et renverra les éléments qui correspondent à toutes les conditions.

Nous pouvons illustrer cela avec un exemple comme indiqué ci-dessous:

Importer Numpy comme NP
arr = np.Array ([100 120 344 232 343 456 674 637]))
new_arr = arr [np.où ((arr> 300) et (arr<500))]
imprimer (new_arr)

Dans le programme ci-dessus, nous commençons par créer un tableau détenant un ensemble d'entiers. Nous créons ensuite un nouveau tableau et utilisons la fonction où filtrer plusieurs conditions. Si un élément dans le tableau est supérieur à 300 et moins de 500, ajoutez-le au nouveau tableau. Enfin, nous imprimons le tableau résultant:

L'utilisation de l'opérateur garantit que les deux conditions sont vraies.

Méthode 2 - Numpy.où () conditions multiples à l'aide de l'opérateur ou

Dans certains cas, vous ne voudrez peut-être que l'une des multiples conditions. Pour cela, nous pouvons utiliser l'opérateur ou. Cela indique où la fonction pour évaluer toutes les conditions fournies et si un élément du tableau donné correspond à l'un d'eux, ajoutez-le au résultat.

Prenez l'exemple de résultat ci-dessous:

Importer Numpy comme NP
arr = np.Array ([100 120 344 232 343 456 674 637]))
new_arr = arr [np.où ((arr> 300) | (arr == 500))]
imprimer (new_arr)

Dans l'exemple ci-dessus, nous utilisons le | Opérateur pour spécifier plusieurs conditions et stocker les valeurs résultantes dans la variable New_Art. Si un élément du tableau d'entrée est supérieur ou égal à 500, ajoutez-le au nouveau tableau.

La sortie résultante:

Nous pouvons voir que tous les éléments retournés sont supérieurs à 300.

Méthode 3 - Numpy.où () plusieurs conditions avec Numpy.Fonction Logical_and ()

Si vous ne souhaitez pas utiliser les opérateurs logiques de Python, Numpy a une fonction logique_and () qui peut remplacer l'opérateur.

La fonction est utilisée pour déterminer la vérité sur l'élément d'une valeur d'un et de la porte. Voyons comment nous pouvons adopter cette fonction pour spécifier plusieurs conditions dans une fonction Numpy où ().

Importer Numpy comme NP
arr = np.Array ([100 120 344 232 343 456 674 637]))
new_arr = arr [np.Où (NP.logical_and (arr> 300, arrond<400))]
imprimer (new_arr)

Dans le code ci-dessus, nous commençons par définir un tableau d'entiers dont nous souhaitons filtrer les éléments.

Nous utilisons ensuite le NP.où () fonctionnent et passent les conditions que nous souhaitons évaluer. Dans ce cas, nous les transmettons comme arguments du NP.Fonction Logical_and.

La fonction évalue les conditions et filtre les éléments qui correspondent aux valeurs spécifiées.

Un exemple de sortie est comme indiqué:

À partir de la sortie, seuls deux éléments correspondent aux conditions spécifiées.

Méthode 4 - Numpy.où () plusieurs conditions avec Numpy.Fonction logical_or ()

De même, Numpy a une fonction qui remplit la même tâche que la logique du Python ou. Le Numpy.La fonction logical_or () est utilisée pour calculer la valeur réelle par élément d'une porte ou.

Pour notre cas, nous pouvons spécifier plusieurs conditions et les transmettre au NP.Fonction où ().

Un exemple de code est comme indiqué ci-dessous:

Importer Numpy comme NP
arr = np.Array ([100 120 344 232 343 456 674 637]))
new_arr = arr [np.Où (NP.logical_or (arr> 300, arr% 2 == 0))]]
imprimer (new_arr)

Ici, la fonction doit renvoyer tous les éléments qui sont supérieurs à 300 ou à ceux qui nombment même.

Les valeurs résultantes sont:

Ça marche.

Fermeture

C'est tout pour celui-ci. Dans ce didacticiel, vous avez appris à spécifier plusieurs conditions dans la fonction Numpy où () en utilisant la fonction logique ou logique et, la fonction logique_and de Numpy, et la fonction logique de Numpy.