Numpy:np.all() & np.any()

np.all() 和 np.any() 可以用于再ndarray中实现逻辑上“与”和“或”操作,这在制作ndarray的indices_mask时也很有用处
PS:np.all(ndarray)/any(ndarray) 和 ndarray.all()/any() 是等价的方法

官方接口和说明:

def all(a, axis=None, out=None, keepdims=np._NoValue):
 Test whether all array elements along a given axis evaluate to True.
def any(a, axis=None, out=None, keepdims=np._NoValue):
 Test whether any array element along a given axis evaluates to True.
 Returns single boolean unless axis is not None

使用范例:

a = np.array([
    [[1,1,1,1],
     [2,2,2,2],
     [3,3,3,3]],

    [[1,1,4,4],
     [5,5,5,5],
     [6,6,6,6]]
])
print(a.shape)
print( a==1, '\n' )

[Out]:
(2, 3, 4)
[[[ True  True  True  True]
  [False False False False]
  [False False False False]]

 [[ True  True False False]
  [False False False False]
  [False False False False]]] 

all():

print( (a==1).all(axis=0), '\n' )	# shape:(3,4)
print( (a==1).all(axis=1), '\n' )	# shape:(2,4)
print( (a==1).all(axis=2), '\n' )	# shape:(2,3)

[Out]:
[[ True  True False False]
 [False False False False]
 [False False False False]] 

[[False False False False]
 [False False False False]] 

[[ True False False]
 [False False False]] 

any()同理:

print( (a==1).any(axis=0), '\n' )
print( (a==1).any(axis=1), '\n' )
print( (a==1).any(axis=2), '\n' )

[Out][[ True  True  True  True]
 [False False False False]
 [False False False False]] 

[[ True  True  True  True]
 [ True  True False False]] 

[[ True False False]
 [ True False False]] 
发布了52 篇原创文章 · 获赞 4 · 访问量 2119

猜你喜欢

转载自blog.csdn.net/qq_42191914/article/details/105032088
np