numpy.any(arr, axis=None, out=None, keepdims=<no value>, *, where=<no value>)
如果对函数中的这些参数还不了解的话,可以看这篇文章:
《NumPy sum、mean、cumsum 及参数 axis,keepdims,where 的含义》
any
检测是否 array 中沿某个维度有任意一个元素为 True。如果没有指定 axis
,那么返回的是一个布尔值,表明整个 array 中是否有元素为 True。
import numpy as np
bools = np.array([False, False, True, False])
bools.any()
"""
True
"""
np.any([[True, False], [False, False]], axis=0)
"""
array([ True, False])
"""
当然,对于非布尔类型的 array,any
方法也可以 work,非零元素代表 True
:
arr = np.array([[2, 4, 0], [1, 0, 0]])
arr.any(axis=0)
"""
array([ True, True, False])
"""
numpy.all(arr, axis=None, out=None, keepdims=<no value>, *, where=<no value>)
any
只需保证任意一个元素为 True
,而 all
则需要保证所有考察的元素为 True
。
bools.all()
"""
False
"""
arr = np.array([[2, 4, 0], [1, 0, 0]])
arr.all(axis=0)
"""
array([ True, False, False])
"""
Not a Number (NaN) 表示 True
:
np.all([2, 4, np.nan])
"""
True
"""