2
votes

Comment obtenir un tableau booléen à partir d'un tableau A avec plusieurs conditions en python?

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?

1 commentaires

Essayez (A <7) et (A> 3) (par exemple).


5 Réponses :


1
votes

Utilisez simplement une compréhension de liste:

x = 3
bools = [i<7 and i> x for i in A]


0 commentaires

1
votes
fun() 0.055701432000205386
fun2() 0.016561345997615717
fun3() 0.016588653001235798
fun4() 0.0446821750010713

0 commentaires

1
votes

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 >


0 commentaires

3
votes

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])


0 commentaires

2
votes

Choisissez la valeur x puis:

x = 3
np.logical_and(x<A, A<7)


0 commentaires