A = np.arange(0,20,1) A<7 The above code will return a boolean array where its elements are true when A<7 and otherwise false. How do I get such a boolean array for x < A < 7?
5 Réponses :
Utilisez simplement une compréhension de liste:
x = 3 bools = [i<7 and i> x for i in A]
fun() 0.055701432000205386 fun2() 0.016561345997615717 fun3() 0.016588653001235798 fun4() 0.0446821750010713
Vous pouvez utiliser numpy.logical_and
pour cette tâche, exemple:
[False False False False True True True False False False False False False False False False False False False False]
Sortie:
import numpy as np A = np.arange(0,20,1) B = np.logical_and(3<A,A<7) print(B)
p >
Si votre x = 3, alors:
(a<3) | (a>7) #Less than 3 or greater than 7 array([ True, True, True, False, False, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True])
Si vous voulez une condition ou, vous pouvez remplacer &
par |
:
a = np.arange(0,20,1) a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) (a>3) & (a<7) array([False, False, False, False, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False])
Choisissez la valeur x puis:
x = 3 np.logical_and(x<A, A<7)
Essayez
(A <7) et (A> 3)
(par exemple).