Numpy中的三种all()用法

Numpy中的三种all()用法

在本文中,我们将介绍Numpy中three kinds of all()用法,分别为:ndarray.all()、np.all(ndarray)和all(ndarray)。

阅读更多:Numpy 教程

ndarray.all()

首先,让我们来看看ndarray.all()的用法。官方文档描述如下:

ndarray.all(axis=None, out=None, keepdims=NoValue)
Test whether all array elements along a given axis evaluate to True.

这个方法会检查ndarray中的所有元素是否都为真。默认情况下,在所有的维度上做这个检查。例如:

import numpy as np

x = np.array([[True, False, True],
              [False, True, True],
              [True, True, True]])

print(x.all())
# False
Python

上述代码中,x中有一个False,所以结果为False。如果设置axis参数,则会在指定的轴上做检查。例如:

import numpy as np

x = np.array([[True, False, True],
              [False, True, True],
              [True, True, True]])

print(x.all(axis=0))
# array([False, False,  True])
Python

因为第二列中有一个False,所以结果中第二个元素为False。

np.all(ndarray)

np.all(ndarray)的用法与ndarray.all()很相似,但是需要用np调用。官方文档描述如下:

numpy.all(a, axis=None, out=None, keepdims=_NoValue, *, where=_NoValue)
Test whether all array elements along a given axis evaluate to True.

也就是说,这个方法跟ndarray.all()一样,会检查ndarray中的所有元素是否都为真。而且np和ndarray是等效的。例如:

import numpy as np

x = np.array([[True, False, True],
              [False, True, True],
              [True, True, True]])

print(np.all(x))
# False

print(np.all(x, axis=0))
# array([False, False,  True])
Python

结果与ndarray.all()的例子相同。

all(ndarray)

最后,让我们来看看all(ndarray)的用法。官方文档描述如下:

all(iterable)
Return True if all elements of the iterable are true (or if the iterable is empty).

与前面两个方法不同,这个方法不是在ndarray上调用的,而是在Python的iterable对象上调用。因此,我们需要将ndarray转换为Python list或tuple。例如:

import numpy as np

x = np.array([[True, False, True],
              [False, True, True],
              [True, True, True]])

lst = x.tolist()

print(all(lst))
# False
Python

结果与前两个方法相同。

总结

通过本文的介绍,我们学习了Numpy中的三种all()用法,分别为ndarray.all()、np.all(ndarray)和all(ndarray)。这些方法分别提供了不同的功能,我们可以根据具体的需求选择不同的方法。值得注意的是,我们在使用all()函数时应格外注意维度的问题,以避免维度错误带来的问题。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册