use*_*853 11 python arrays numpy boolean-expression scipy
在Numpy中,我可以像这样生成一个布尔数组:
>>> arr = np.array([1, 2, 1, 2, 3, 6, 9])
>>> arr > 2
array([False, False, False, False, True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
有可能将比较链接在一起吗?例如:
>>> 6 > arr > 2
array([False, False, False, False, True, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
DSM*_*DSM 21
据我所知,你可以得到的最接近的是使用&,|以及^:
>>> arr = np.array([1, 2, 1, 2, 3, 6, 9])
>>> (2 < arr) & (arr < 6)
array([False, False, False, False, True, False, False], dtype=bool)
>>> (2 < arr) | (arr < 6)
array([ True, True, True, True, True, True, True], dtype=bool)
>>> (2 < arr) ^ (arr < 6)
array([ True, True, True, True, False, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
我不认为你能够a < b < c开始工作.
jcr*_*udy 10
您可以使用numpy逻辑运算符执行类似的操作.
>>> arr = np.array([1, 2, 1, 2, 3, 6, 9])
>>> arr > 2
array([False, False, False, False, True, True, True], dtype=bool)
>>>np.logical_and(arr>2,arr<6)
Out[5]: array([False, False, False, False, True, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)