首页 > 解决方案 > numpy all() 和 any() 的问题

问题描述

我喜欢检查一个数组是否包含任何负数或零元素。

为此,我尝试使用numpy.anyor 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'。但是数组包含负数和零元素,所以我没想到会这样。

为什么会发生这种情况,我该如何解决?

标签: pythonnumpy

解决方案


您还可以使用 np.all() 来获得结果:

if (a <= 0).all():
    print('negative or zero element(s) exist')
else:
    print('all positive')

推荐阅读