Comment vérifier si tous les éléments d'un tableau sont 0 ou 2 en Python Numpy? Par exemple
if (all elements in c == 0) or (all elements in c == 2):
This is true
else :
This is False
Cela signifie que si c = numpy.array [0,0,2] c'est true ,
mais si c = numpy.array [0,1,2] c'est false.
Quelqu'un pourrait-il me donner un morceau de code?
4 Réponses :
Méthode simple: Comptez simplement le nombre de 0 et de 2, vérifiez si le nombre est égal à la longueur du tableau:
def check(array): return array.count(0) + array.count(2) == len(array)
Cela fonctionne pour les tableaux normaux, si vous vous en tenez à numpy, utilisez la solution fournie par @Chris
Vous pouvez utiliser des opérateurs binaires comme des opérateurs logiques:
((x == 0) | (x == 2)). all ()
C'est légèrement plus rapide (~ 20-30%) que la solution "np.isin".
test visuel rapide en cours
np.unique(arr1)
Ceci liste tous les éléments uniques dans arr1. Donc, si vous obtenez quelque chose qui ne contient pas seulement 0 ou 2, vous pouvez le savoir visuellement immédiatement. Juste un conseil.
le calcul unique () nécessite de trier tout arr1 , donc il sera nettement plus lent que les autres solutions
D'accord. ma question devrait être plus claire. le tableau est un tableau numpy.