检查NumPy数组中的所有元素是否符合条件

7
对于给定的二维数组,如下所示,我需要检查所有元素是否都小于0.2。
a = np.array([[0.26002, 0.13918, 0.6008 ],
              [0.2997 , 0.28646, 0.41384],
              [0.41614, 0.36464, 0.21922]])

这是我的代码,基于这个问题

 res = abs(a<0.2)
 all(i==True for i in res)

但是代码出现了以下错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

那是一个数组还是一个列表? - cs95
这是一个二维数组。 - Jeff
2
使用 abs(a<0.2).all() 吗? - cs95
我没有在这里对问题或答案进行负投票。但是,如果您可以确认我的上面的评论,那将是很好的。 - cs95
@coldspeed,是的,它运行良好。如果您将其编写为答案,我会批准它。 非常感谢。 - Jeff
显示剩余2条评论
1个回答

12
关键是要在这里使用np.all
(np.abs(a) < 0.2).all()
# False

(a < 1).all()
# True

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接