所以我有这些条件:
A = 0到10 或 40到60
B = 20到50
我有这个代码:
area1 = N.where((A>0) & (A<10)),1,0)
area2 = N.where((B>20) & (B<50)),1,0)
我的问题是:如何在numpy中做' OR '条件?
Thi*_*ter 31
如果&布尔值的numpy重载and你可以安全地假设它|是布尔值or.
area1 = N.where(((A>0) & (A<10)) | ((A>40) & (A<60))),1,0)
mgi*_*son 24
有 numpy.logical_or
http://docs.scipy.org/doc/numpy/reference/generated/numpy.logical_or.html
numpy logical_and和logical_or你想要的ufuncs(我认为)
请注意,&不是logical and,它是按位的 and.这仍然适用于您,因为(a> 10)返回逻辑数组(例如1和0),第二个条件也是如此.因此,在这种情况下,"逻辑"和"按位和"是等效的(与逻辑和按位相同or).但在其他情况下,按位运算可能会产生令人惊讶的结果(主要是因为python &和|运算符在这些上下文中的优先级低于预期).
| 归档时间: | 
 | 
| 查看次数: | 26150 次 | 
| 最近记录: |