Numpy中逐元素比较结果全为True时如何得到单个布尔值输出
解决方案
Numpy的逐元素比较操作默认返回和输入数组形状一致的布尔数组,要得到单个布尔判断结果,直接使用np.all()方法即可:该方法只有在输入布尔数组的所有元素都为True时才会返回True,否则返回False。
代码示例
import numpy as np arr1 = np.linspace(1, 10, 10) arr2 = np.linspace(50, 100, 10) # 写法1:调用np全局方法 res1 = np.all(arr1 * arr2 == arr2 * arr1) # 写法2:调用布尔数组的内置all方法 res2 = (arr1 * arr2 == arr2 * arr1).all() print(res1) # 输出 True print(res2) # 输出 True
补充说明
如果你的场景只需要判断是否存在至少一个元素满足条件,可以替换为np.any()方法或者布尔数组的any()方法。
内容的提问来源于stack exchange,提问作者Katty_one
相关产品推荐
相关产品推荐

