gpt4 book ai didi

python - 使用 a.any() 或 a.all()

转载 作者:IT老高 更新时间:2023-10-28 20:34:24 29 4
gpt4 key购买 nike

x = np.arange(0,2,0.5)
valeur = 2*x

if valeur <= 0.6:
print ("this works")
else:
print ("valeur is too high")

这是我得到的错误:

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

我已经阅读了几篇关于 a.any() 或 a.all() 的帖子,但仍然找不到真正清楚地解释如何解决问题的方法。我明白为什么 Python 不喜欢我写的东西,但我不知道如何解决它。

最佳答案

如果你看一下 valeur <= 0.6 的结果,您可以看到导致这种歧义的原因:

>>> valeur <= 0.6
array([ True, False, False, False], dtype=bool)

所以结果是另一个数组,在这种情况下有 4 个 bool 值。现在结果应该是什么?当一个值为真时,条件是否应该为真?只有当所有值都为真时,条件才应该为真?

这正是 numpy.anynumpy.all做。前者要求至少有一个真值,后者要求所有值都为真:

>>> np.any(valeur <= 0.6)
True
>>> np.all(valeur <= 0.6)
False

关于python - 使用 a.any() 或 a.all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472814/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com