all(a, axis=None, out=None, keepdims=np._NoValue)
Test whether all array elements along a given axis evaluate to True.
判断给定轴向上的***所有元素是否都为True***
零为False,其他情况为True
如果axis
为None,返回单个布尔值True或False
Notes
-----
Not a Number (NaN), positive infinity and negative infinity
evaluate toTrue
because these are not equal to zero.
笔者翻译:不是数字(NaN),正无穷大和负无穷大的值都是’True’,因为它们不等于零。
# NumPy all() 判断矩阵中 所有元素 是否 都为True
a2 = np.arange(5) # 生成一个矩阵 [0 1 2 3 4]
print("np.all(a2):", np.all(a2)) # 输出:False
a3 = np.array([0, 3, 0, 0, 0]) # 随手写一个矩阵 [0 3 0 0 0]
print("np.all(a3):", np.all(a3)) # 输出:False
a4 = np.zeros_like(a3) # 生成一个全是零的矩阵,形状与a3一样 [0 0 0 0 0]
print("np.all(a4):", np.all(a4)) # 输出:False
a5 = np.full_like(a3, False) # 生成一个全是False的矩阵,形状与a3一样
print("np.all(a5):", np.all(a5)) # 输出:False
a6 = np.full_like(a3, True) # 生成一个全是True的矩阵,形状与a3一样
print("np.all(a6):", np.all(a6)) # 输出:True
any(a, axis=None, out=None, keepdims=np._NoValue)
Test whether any array element along a given axis evaluates to True.
Returns single boolean unlessaxis
is notNone
判断给定轴向上***是否有一个元素为True***
如果axis
为None,返回单个布尔值True或False
# import the necessary packages
import numpy as np
# NumPy any() 判断矩阵中 是否 有一个元素 为True
a2 = np.arange(5) # 生成一个矩阵 [0 1 2 3 4]
print("np.any(a2):", np.any(a2)) # 输出:True
a3 = np.array([0, 3, 0, 0, 0]) # 随手写一个矩阵
print("np.any(a3):", np.any(a3)) # 输出:True
a4 = np.zeros_like(a3) # 生成一个全是零的矩阵,形状与a3一样 [0 0 0 0 0]
print("np.any(a4):", np.any(a4)) # 输出:False
a5 = np.full_like(a3, False) # 生成一个全是False的矩阵,形状与a3一样
print("np.any(a5):", np.any(a5)) # 输出:False
a6 = np.full_like(a3, True) # 生成一个全是True的矩阵,形状与a3一样
print("np.any(a6):", np.any(a6)) # 输出:True
b1 = np.arange(36).reshape(2, 3, 6) # # 创建一个2*3*6矩阵`
print("b1:\n", b1)
输出结果
[[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]]
[[18 19 20 21 22 23]
[24 25 26 27 28 29]
[30 31 32 33 34 35]]]
print("np.all(b1):", np.all(b1)) # 判断矩阵中所有元素是否都为True
输出结果
np.all(b1): False
print("np.any(b1):", np.any(b1)) # 判断矩阵中是否有一个为True
输出结果
np.any(b1): True
print("b1 < 15:\n", b1 < 15) # 判断矩阵中每个元素是否小于15
输出结果
b1 < 15:
[[[ True True True True True True]
[ True True True True True True]
[ True True True False False False]]
[[False False False False False False]
[False False False False False False]
[False False False False False False]]]
b02 = np.all(b1, axis=0, keepdims=True) # 判断矩阵中 某个轴向上 所有元素是否都为True
print("np.all(b1, axis=0):\n", b02)
输出结果
np.all(b1, axis=0):
[[[False True True True True True]
[ True True True True True True]
[ True True True True True True]]]
b03 = np.any(b1, axis=0, keepdims=True) # 判断矩阵中 某个轴向上 是否有一个元素为True
print("np.any(b1, axis=0):\n", b03)
输出结果
np.any(b1, axis=0):
[[[ True True True True True True]
[ True True True True True True]
[ True True True True True True]]]
b02 = np.all(b1 < 15, axis=0, keepdims=True) # 判断矩阵中 某个轴向上 所有元素是否都小于15
print("(np.all(b1 < 15, axis=0):\n", b02)
输出结果
(np.all(b1 < 15, axis=0):
[[[False False False False False False]
[False False False False False False]
[False False False False False False]]]
b03 = np.any(b1 < 15, axis=0, keepdims=True) # 判断矩阵中 某个轴向上 是否有一个元素小于15。所有元素都大于15为False,有一个小于15即为True
print("np.any(b1 < 15, axis=0):\n", b03)
输出结果
np.any(b1 < 15, axis=0):
[[[ True True True True True True]
[ True True True True True True]
[ True True True False False False]]]
axis等于1或2(不能超过2)时大家自己试验吧。
请参考下面的文章
《Python NumPy中sum函数详解 axis与keepdims图解》
可以参考
https://www.programcreek.com/python/example/4960/numpy.all