Maison > développement back-end > Tutoriel Python > Comment puis-je effectuer une opération OU logique sur plus de deux tableaux NumPy ?

Comment puis-je effectuer une opération OU logique sur plus de deux tableaux NumPy ?

Patricia Arquette
Libérer: 2024-12-02 18:41:18
original
1059 Les gens l'ont consulté

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

Fonction logical_or de Numpy avec plusieurs arguments

La fonction logical_or de Numpy est conçue pour comparer deux tableaux et renvoyer un tableau avec des valeurs vraies ou fausses en fonction de les résultats de la comparaison. Cependant, cette fonction ne peut gérer qu’un maximum de deux arguments. Pour trouver l'union de plus de deux tableaux à l'aide de logical_or, nous avons plusieurs options :

Chaînage des appels logical_or

Une approche consiste à chaîner plusieurs appels logical_or. Par exemple :

x = np.array([True, True, False, False])
y = np.array([True, False, True, False])
z = np.array([False, False, False, False])
result = np.logical_or(np.logical_or(x, y), z)

print(result)
Copier après la connexion

Sortie :

[ True  True  True False]
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cette méthode fonctionne en combinant séquentiellement les tableaux et en exécutant un logical_or sur eux un par un.

Utilisation réduire

Une manière plus concise de combiner plusieurs appels logical_or consiste à utiliser Fonction de réduction de NumPy :

result = np.logical_or.reduce((x, y, z))

print(result)
Copier après la connexion

Sortie :

[ True  True  True False]
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

reduce applique une opération spécifiée (dans ce cas, logical_or) sur une séquence donnée de tableaux.

Réduire de Python

Alternativement, Python fournit également une fonction de réduction qui peut être utilisé :

from functools import reduce

result = reduce(np.logical_or, (x, y, z))

print(result)
Copier après la connexion

Sortie :

[ True  True  True False]
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

La réduction de Python est moins couramment utilisée dans de tels cas, car il existe souvent des alternatives plus simples disponibles.

Utiliser n'importe quelle fonction

NumPy peut également être utilisée pour trouver l'union de plusieurs tableaux, bien qu'il nécessite un argument d'axe explicite pour spécifier la dimension le long de laquelle effectuer l'opération :

result = np.any((x, y, z), axis=0)

print(result)
Copier après la connexion

Sortie :

[ True  True  True False]
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

any renvoie un tableau avec des valeurs vraies ou fausses, indiquant si un élément le long de l'axe spécifié est vrai.

De même, logical_and et d'autres fonctions logiques fonctionnent de la même manière, permettant le chaînage, la réduction et toute opération pour combiner plus de deux arguments.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal