Syntaxe:
numpy.où(condition,[x,y])où la fonction () peut prendre deux arguments. Le premier argument est obligatoire et le deuxième argument est facultatif. Si la valeur du premier argument (état) est vrai, alors la sortie contiendra les éléments du tableau du tableau, X sinon du tableau, oui. Cette fonction renverra les valeurs d'index du tableau d'entrée si aucun argument facultatif n'est utilisé.
Utilisation de la fonction where() :
Différents types d'opérateurs booléens peuvent être utilisés pour définir la condition de cette fonction. Les utilisations de la fonction where a () avec plusieurs conditions sont présentées dans cette partie du didacticiel.
Exemple -1 : Utilisation de plusieurs conditions avec OU logique
L'exemple suivant montre l'utilisation de la fonction where() avec et sans l'argument optionnel. Ici, le OU logique a utilisé pour définir la condition. La première fonction where() s'est appliquée dans un tableau unidimensionnel qui renverra le tableau d'indices du tableau d'entrée où la condition renverra Vrai. La deuxième fonction where() appliquée dans deux tableaux unidimensionnels récupérera les valeurs du premier tableau lorsque la condition renverra True. Sinon, il récupérera les valeurs du deuxième tableau.
# Importer la bibliothèque NumPyimporter numpy en tant que np
# Créer un tableau en utilisant la liste
np_tableau1 = np.tableau([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print("Les valeurs du tableau d'entrée :\n", np_array1)
# Créer un autre tableau basé sur les multiples conditions et un tableau
nouveau_tableau1 = np.où((np_array1 50))
# Imprimer le nouveau tableau
print("Les valeurs filtrées du tableau :\n", new_array1)
# Créer un tableau en utilisant des valeurs de plage
np_array2 = np.range (40, 50)
# Créer un autre tableau basé sur les conditions multiples et deux tableaux
nouveau_tableau2 = np.où((np_array1 60), np_array1, np_array2)
# Imprimer le nouveau tableau
print("Les valeurs filtrées du tableau :\n", new_array2)
Production:
La sortie suivante apparaîtra après l'exécution du script ci-dessus. Ici, la condition est revenue Vrai pour les valeurs 23,11,18,33 et 38 du premier tableau. L'état est revenu Faux pour les valeurs 45, 43, 60, 71 et 52. Ainsi, 42, 43, 44 et 48 ont été ajoutés à partir du deuxième tableau pour les valeurs 45, 43, 60 et 52. Ici, 71 est hors de portée.
Exemple -2 : Utilisation de plusieurs conditions avec un ET logique
L'exemple suivant montre comment la fonction () peut être utilisée avec les multiples conditions définies par logique et appliquées dans deux tableaux à une dimension. Ici, deux tableaux NumPy unidimensionnels ont été créés en utilisant la fonction rand(). Ces tableaux ont été utilisés dans la fonction where() avec les multiples conditions pour créer le nouveau tableau en fonction des conditions. La condition reviendra Vrai lorsque la valeur du premier tableau est inférieure à 40 et que la valeur du deuxième tableau est supérieure à 60. Le nouveau tableau a été imprimé plus tard.
# Importer la bibliothèque NumPyimporter numpy en tant que np
# Créer deux tableaux de valeurs aléatoires
np_tableau1 = np.Aléatoire.rand(10)*100
np_array2 = np.Aléatoire.rand(10)*100
# Imprimer les valeurs du tableau
print("\nLes valeurs du premier tableau :\n", np_array1)
print("\nLes valeurs du deuxième tableau :\n", np_array2)
# Créer un nouveau tableau basé sur les conditions
nouveau_tableau = np.où((np_array1 60), np_array1, np_array2)
# Imprimer le nouveau tableau
print("\nLes valeurs filtrées des deux tableaux :\n", new_array)
Production:
La sortie suivante apparaîtra après l'exécution du script ci-dessus. L'état est revenu Faux pour tous les éléments. Ainsi, le tableau renvoyé contient uniquement les valeurs du deuxième tableau.
Exemple-3 : Utilisation de plusieurs conditions dans le tableau multidimensionnel
L'exemple suivant montre comment la fonction () peut être utilisée avec les multiples conditions définies par la logique ET qui sera appliqué dans deux tableaux multidimensionnels. Ici, deux tableaux multidimensionnels ont été créés en utilisant des listes. Ensuite, ces fonctions se sont appliquées dans la fonction where() pour créer le nouveau tableau en fonction de la condition. La condition utilisée dans la fonction retournera Vrai où la valeur du premier tableau est paire et la valeur du deuxième tableau est impaire ; sinon, la condition reviendra Faux.
# Importer la bibliothèque NumPyimporter numpy en tant que np
# Créer deux tableaux multidimensionnels de valeurs entières
np_tableau1 = np.tableau([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.tableau([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Imprimer les valeurs du tableau
print("\nLes valeurs du premier tableau :\n", np_array1)
print("\nLes valeurs du deuxième tableau :\n", np_array2)
# Créer un nouveau tableau à partir de deux tableaux en fonction des conditions
nouveau_tableau = np.où(((np_array1 % 2 == 0) & (np_array2 % 2 == 1)), np_array1, np_array2)
# Imprimer le nouveau tableau
print("\nLes valeurs filtrées des deux tableaux :\n", new_array)
Production:
La sortie suivante apparaîtra après l'exécution du script ci-dessus. Dans la sortie, 43, 12, 7, 34, 9, 22, 41, 5 et 12 ont été ajoutés dans le nouveau tableau à partir du deuxième tableau car la condition est Faux pour ces valeurs. Les 12 premières valeurs du nouveau tableau ont été ajoutées à partir du premier tableau car la condition est Vrai pour cette valeur seulement.
Conclusion:
où la fonction () de la bibliothèque NumPy est utile pour filtrer les valeurs de deux tableaux. La création d'un nouveau tableau en filtrant les données de deux tableaux en fonction de plusieurs conditions définies par OU logique et ET logique a été expliquée dans ce tutoriel. J'espère que les lecteurs pourront utiliser correctement cette fonction dans leur script après avoir pratiqué les exemples de ce tutoriel.