我有两个numpy
数组,比如说A
和B
In [3]: import numpy as np
In [4]: A = np.array([0.10,0.20,0.30,0.40,0.50])
In [5]: B = np.array([0.15,0.23,0.33,0.41,0.57])
我应用这样一个条件:
In [6]: condition_array = A[(B>0.2)*(B<0.5)]
In [7]: condition_array
Out[7]: array([ 0.2, 0.3, 0.4])
现在我如何得到condition_array
的对立面?
即数组A
的值,其中数组B
是NOT GREATER THAN 0.2 and NOT LESS THAN 0.5
?你知道吗
In [8]: test_array = A[(B<0.2)*(B>0.5)]
In [9]: test_array
Out[9]: array([], dtype=float64)
上面的似乎不起作用!你知道吗
通过De Morgan's Law
或者
可以使用
~
运算符反转数组。。。你知道吗注意,您使用
*
似乎是为了执行逻辑“and”。许多人希望您使用二进制“and”运算符(&
),而我个人更希望更明确:或者,也可以进行以下工作:
相关问题 更多 >
编程相关推荐