numpy.all#

numpy.all(a, axis=None, out=None, keepdims=<no value>, *, where=<no value>)[source]#

测试给定轴上所有数组元素是否都计算为 True。

参数:
aarray_like

输入数组或可转换为数组的对象。

axisNone 或 int 或 int 元组,可选

执行逻辑与归约的轴或轴。默认值 (axis=None) 是对输入数组的所有维度执行逻辑与。axis 可以为负数,在这种情况下,它从最后一个轴到第一个轴进行计数。

版本 1.7.0 中的新功能。

如果这是一个 int 元组,则会对多个轴执行归约,而不是像以前那样对单个轴或所有轴执行归约。

outndarray,可选

用于放置结果的备用输出数组。它必须与预期输出具有相同的形状,并且其类型将被保留(例如,如果 dtype(out) 是 float,则结果将由 0.0 和 1.0 组成)。有关详细信息,请参阅 输出类型确定

keepdimsbool,可选

如果将其设置为 True,则归约的轴将作为大小为一的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。

如果传递了默认值,则 keepdims 将不会传递到 all 方法的 ndarray 的子类的中,但是任何非默认值都会传递。如果子类的该方法没有实现 keepdims,则会引发任何异常。

wherebool 的 array_like,可选

要包含在检查所有 True 值中的元素。有关详细信息,请参阅 reduce

版本 1.20.0 中的新功能。

返回值:
allndarray,bool

除非指定了 out,否则将返回一个新的布尔值或数组,在这种情况下,将返回对 out 的引用。

另请参阅

ndarray.all

等效方法

any

测试给定轴上是否有任何元素计算为 True。

注释

非数字 (NaN)、正无穷大和负无穷大计算为 True,因为这些值不等于零。

版本 2.0 中已更改: 在 NumPy 2.0 之前,all 不会为对象 dtype 输入数组返回布尔值。此行为仍可通过 np.logical_and.reduce 获得。

示例

>>> import numpy as np
>>> np.all([[True,False],[True,True]])
False
>>> np.all([[True,False],[True,True]], axis=0)
array([ True, False])
>>> np.all([-1, 4, 5])
True
>>> np.all([1.0, np.nan])
True
>>> np.all([[True, True], [False, True]], where=[[True], [False]])
True
>>> o=np.array(False)
>>> z=np.all([-1, 4, 5], out=o)
>>> id(z), id(o), z
(28293632, 28293632, array(True)) # may vary