如果你看看结果valeur <= 0.6
,你可以看到造成这种歧义的原因:
>>> valeur <= 0.6 array([ True, False, False, False], dtype=bool)
所以结果是另一个数组,在这种情况下有4个布尔值.那么结果应该是什么?如果一个值为真,条件是否为真?只有当所有值都为真时,条件才真实吗?
这正是numpy.any
和numpy.all
做的.前者需要至少一个真值,后者要求所有值都为真:
>>> np.any(valeur <= 0.6) True >>> np.all(valeur <= 0.6) False