了解numpy的任何功能

时间:2019-03-18 16:37:22

标签: python numpy

我遇到了一个名为anynumpy的函数,在以下情况下我无法理解它的用法,如下所示:

if np.subtract(original.shape, duplicate.shape).any():
   # Do something
else:
   # Carry on with the usual tasks

有人可以帮助我了解这里发生的事情吗?正在检查什么?该文档说,

  

测试沿给定轴的任何数组元素的求值是否为True。

是否正在检查其是否相等?为了更好地理解这一点,我该如何重写any调用?

3 个答案:

答案 0 :(得分:1)

正在检查其“真实”性。

尝试一下:

import numpy

print(numpy.any([0, 0, 0, 0, 0]))
print(numpy.any([0, 0, 0, 0, 1]))

答案 1 :(得分:1)

np.any(x)检查x中的任何元素是否为true。就您而言,它检查数组originalduplicate的维数是否至少不同。

您可以将其重写为:

res = False
for so, sd in zip(original.shape, duplicate.shape):
    if so != sd:
        res = True

if res:
    # Do something
else:
   # Carry on with the usual tasks

答案 2 :(得分:-1)

any方法检查给定数据中至少在元素上是否被评估为True

在python中,{{3}}:

  • None
  • False
  • 任何数字零
  • 空字符串,集合,列表,字典...
  • 具有__len__方法返回0或__bool__方法返回False的任何事物

对其他所有内容进行评估True

如果通过any方法检查的数据包含至少一项不满足这些要求的项目,则返回True,否则返回False