Maison > développement back-end > Tutoriel Python > Comment puis-je effectuer des opérations logiques OU/ET sur plusieurs tableaux NumPy ?

Comment puis-je effectuer des opérations logiques OU/ET sur plusieurs tableaux NumPy ?

DDD
Libérer: 2024-11-27 17:52:11
original
691 Les gens l'ont consulté

How Can I Perform Logical OR/AND Operations on Multiple NumPy Arrays?

Application des opérations logiques de Numpy à plusieurs tableaux

Dans Numpy, logical_or ne peut comparer que deux tableaux. Cela soulève la question : comment trouver l’union de plus de deux tableaux ? La même question s'applique à logical_and et à l'obtention de l'intersection de plusieurs tableaux.

Limitations des fonctions logiques de Numpy

Numpy limite explicitement logical_or à deux arguments : x1 et x2.

Chaînage Logique Opérations

Plusieurs appels à logical_or peuvent être chaînés :

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)
Copier après la connexion

résultat : [Vrai, Vrai, Vrai, Faux]

Généralisation du chaînage à l'aide Numpy's Reduction

Pour généraliser ce chaînage, NumPy fournit la réduction function:

result = np.logical_or.reduce((x, y, z))
Copier après la connexion

résultat : [Vrai, Vrai, Vrai, Faux]

Cette approche fonctionne également avec des tableaux multidimensionnels :

xyz = np.array((x, y, z))
result = np.logical_or.reduce(xyz)
Copier après la connexion

résultat : [ Vrai, vrai, vrai, faux]

Python Réduire

Le functools.reduce de Python peut également être utilisé :

import functools
result = functools.reduce(np.logical_or, (x, y, z))
Copier après la connexion

résultat : [Vrai, Vrai, Vrai, Faux]

Numpy's Any Fonction

Toute fonction de Numpy peut également être utilisée, mais nécessite un explicite argument de l'axe :

result = np.any((x, y, z), axis=0)
Copier après la connexion

résultat : [Vrai, Vrai, Vrai, Faux]

ET logique (logical_and) et autres opérations

Similaire Les méthodes s'appliquent à d'autres opérations logiques, y compris logical_and. Par exemple, logical_xor n'a pas d'équivalent à all ou any.

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal