python - numpy all() 和 any() 的问题
问题描述
我喜欢检查一个数组是否包含任何负数或零元素。
为此,我尝试使用numpy.any
or numpy.all
,但是当我运行以下代码时:
import numpy as np
arr = np.array([0,1,-1,-2,3,5])
print(arr)
if np.any(arr) <= 0:
print('negative or zero element(s) exist')
else:
print('all positive')
它返回'all positive'
。但是数组包含负数和零元素,所以我没想到会这样。
为什么会发生这种情况,我该如何解决?
解决方案
您还可以使用 np.all() 来获得结果:
if (a <= 0).all():
print('negative or zero element(s) exist')
else:
print('all positive')