我在使用Numpy时偶然发现了一些内容,但是我不太明白。如果我要检查一个空的Numpy数组是否存在任何真实值
np.array([]).any()
如果我检查所有值都为true,则它将评估为true,否则它将评估为false
np.array([]).all()
当它评估为true时,这对我来说看起来很奇怪,因为没有值是true,但同时所有值都是true...
我在使用Numpy时偶然发现了一些内容,但是我不太明白。如果我要检查一个空的Numpy数组是否存在任何真实值
np.array([]).any()
如果我检查所有值都为true,则它将评估为true,否则它将评估为false
np.array([]).all()
当它评估为true时,这对我来说看起来很奇怪,因为没有值是true,但同时所有值都是true...
与以下内容进行比较:NaN(非数值)、正无穷和负无穷被视为 "True",因为它们不等于零。
In[102]:
np.array([True,]).all()
Out[102]: True
NaN
的数组,它会返回True
。any
如果任何值为True
则返回True
,否则返回False
。
- all
如果没有值为False
则返回True
,否则返回False
。np.array([]).any()
或any([])
,没有True
值,因为你有一个0维数组或0长度列表。因此结果为False
。np.array([]).all()
或all([])
,没有False
值,因为你有一个0维数组或0长度列表。因此结果为True
。这是一种正常的行为。
不可能找到一个真值,因此np.array([]).any()
为False。
对于数组中的每个值,该值都为False(很容易检查,因为数组中没有任何值,所以您不需要检查任何内容)。
numpy
遵循的惯例,我们可以将其标记为重复,但让我们看看其他人是否同意。 - EdChum