常见使用场景举例
判断numpy数组中是否【全是】非0元素
# 判断数组中是否全是非0元素
a = np.array([1, 2, 3, 4])
b = np.array([0, 1, 2, 3])
c = np.array([np.nan, 1, 2, 3]) # nan --> Not a Number ---> 算非0元素
d = np.array([np.inf, 1, 2, 3]) # np.inf --> 正无穷大 ---> 算非0元素
e = np.array([-np.inf, 1, 2, 3]) # -np.inf --> 负无穷大 ---> 算非0元素
print(np.all(a)) # True
print(np.all(b)) # False
print(np.all(c)) # True
print(np.all(d)) # True
print(np.all(e)) # True
判断numpy数组中是否【存在】非0元素
# 判断数组中是否存在非0元素
a = np.array([0, 0, 0, 0])
b = np.array([0, 1, 0, 0])
c = np.array([0, np.nan, 0, 0])
d = np.array([0, np.inf, 0, 0])
e = np.array([0, -np.inf, 0, 0])
print(np.any(a)) # False
print(np.any(b)) # True
print(np.any(c)) # True
print(np.any(d)) # True
print(np.any(e)) # True
判断数组中的元素是否【都】满足某个条件
a = np.array([0, 2, 3, 4])
# 判断数组a的元素是否都大于0
print(np.all(a > 0)) # False
# 判断数组a的元素是否都大于-1
print(np.all(a > -1)) # Trueb = np.array([0, 0, 0, 0])
# 判断数组b是否为全0数组
print(np.all(b == 0)) # True
# 判断数组b是否为全1数组
print(np.all(b == 1)) # False
判断数组是否【存在】元素满足某个条件
a = np.array([0, 2, 3, 4])
# 判断数组a是否存在元素大于5
print(np.any(a > 5)) # False
# 判断数组a是否存在元素大于3
print(np.any(a > 3)) # Trueb = np.array([0, 0, 1, 0])
# 判断数组b是否存在元素等于1
print(np.any(b == 1)) # True
print(1 in b) # True
# 判断数组b是否存在元素等于-1
print(np.any(b == -1)) # False
print(-1 in b) # False
判断两个数组是否【完全】相等
a = np.array([1, 2, 3, 4])
b = np.array([1, 2, 3, 4])
c = np.array([1, 2, 3, 5])
print(np.all(a == b)) # True
print(np.all(b == c)) # False
判断多维数组沿指定轴是否满足某个条件
a = np.zeros((4, 5), dtype=np.int32)
a[2, 2] = 1
print(a)
# 判断二维数组a【每列】是否【存在】大于0的元素
print(np.any(a > 0, axis=0))
# 判断二维数组a【每行】是否【存在】大于0的元素
print(np.any(a > 0, axis=1))# 输出结果
# [[0 0 0 0 0]
# [0 0 0 0 0]
# [0 0 1 0 0]
# [0 0 0 0 0]]
# [False False True False False] # 数组a第三列存在大于0的元素1
# [False False True False] # 数组a第三行存在大于0的元素1# 判断二维数组a【每列】是否【都】大于-1
print(np.any(a > -1, axis=0))
# 判断二维数组a【每行】是否【都】大于1
print(np.any(a > 1, axis=1))# 输出结果
# [ True True True True True] # 数组a每列的所有元素都大于-1
# [False False False False] # 数组a每行的所有元素都不大于1
判断数组中的元素是否【全是】有限的数值
NaN、正无穷大、负无穷大都不是有限值。
a = np.array([np.nan, 1, 2, 3])
b = np.array([np.inf, 1, 2, 3])
c = np.array([-np.inf, 1, 2, 3])
print(np.all(np.isfinite(a))) # False
print(np.all(np.isfinite(b))) # False
print(np.all(np.isfinite(c))) # False
结束语
未来如果想到更多使用场景,会及时更新~
如果本博文对你有所帮助/启发,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~
如果有相关需求/问题需要小编帮助,欢迎私信~
小编会坚持创作,持续优化博文质量,给读者带来更好de阅读体验~