在python中,如何从具有多个条件的数组中获取布尔数组? A=np.arange(0,20,1) A

在python中,如何从具有多个条件的数组中获取布尔数组? A=np.arange(0,20,1) A,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,仅使用列表理解: A = np.arange(0,20,1) A<7 x=3 bools=[i x表示A中的i] 您可以使用numpy.logical\u和执行该任务,例如: fun() 0.055701432000205386 fun2() 0.016561345997615717 fun3() 0.016588653001235798 fun4() 0.0446821750010713 如果您的x=3,则: [False False False False True True

仅使用列表理解:

A = np.arange(0,20,1)
A<7
x=3
bools=[i x表示A中的i]

您可以使用
numpy.logical\u和
执行该任务,例如:

fun() 0.055701432000205386
fun2() 0.016561345997615717
fun3() 0.016588653001235798
fun4() 0.0446821750010713
如果您的x=3,则:

[False False False False  True  True  True False False False False False
 False False False False False False False False]

选择x值,然后:

(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])
x=3
np.logical_和(xTry
(A3)
(例如)。
import numpy as np
A = np.arange(0,20,1)
B = np.logical_and(3<A,A<7)
print(B)
[False False False False  True  True  True False False False False False
 False False False False False False False False]
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])
(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])
x = 3
np.logical_and(x<A, A<7)