gpt4 book ai didi

python - 如何比较 numpy 数组和标量?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:58 26 4
gpt4 key购买 nike

这个问题可能看起来很基础,但它会产生很大的困惑。

我尝试将 numpy.array 与标量进行比较:

a=numpy.array([0.,1.,2.,-1.,-4.])
if a.any()>0.:
print 'a:',a

正如预期的那样,我们得到:

a: [ 0.  1.  2. -1. -4.]

现在如果我做同样的事情来找到负值

a=numpy.array([0.,1.,2.,-1.,-4.])
if a.any()<0.:
print 'a:',a

我没有得到任何表示所有值都大于 0 的信息。

最佳答案

因为那个a.any返回 True(如果您的元素之一满足条件则返回 True,否则返回 False)。由于 True 和 1 在 Python 中是相同的对象 (True==1),因此您的条件被解释为 1<0由 Python 编写,这是错误的!

>>> True<0
False
>>> a.any()<0.
False

而不是你需要 (a<0).any()

>>> (a<0).any()
True

关于python - 如何比较 numpy 数组和标量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926446/

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