📌  相关文章
📜  如何检查给定 NumPy 数组的元素是否非零?(1)

📅  最后修改于: 2023-12-03 14:53:11.738000             🧑  作者: Mango

检查给定 NumPy 数组的元素是否非零

在 NumPy 中,我们可以使用以下方法检查一个数组的元素是否非零:

  • np.count_nonzero(arr):返回 arr 数组中非零元素的数量。
  • np.any(arr):如果 arr 数组中有一个及以上的非零元素,则返回 True,否则返回 False。
  • np.all(arr):如果 arr 数组中所有元素都非零,则返回 True,否则返回 False。

下面是一个示例代码:

import numpy as np

arr = np.array([1, 0, 3, 0, 5])
print(np.count_nonzero(arr))  # 输出 3

if np.any(arr):
    print("数组 arr 中有非零元素")
else:
    print("数组 arr 中所有元素都是零")

if np.all(arr):
    print("数组 arr 中所有元素都非零")
else: 
    print("数组 arr 中有至少一个元素是零")

输出:

3
数组 arr 中有非零元素
数组 arr 中有至少一个元素是零

我们也可以使用布尔运算符和切片操作检查某个特定范围的数组元素是否非零,例如:

import numpy as np

arr = np.array([1, 0, 3, 0, 5])

# 检查 arr 数组中前三个元素是否非零
print(arr[:3] != 0)

# 输出 [ True False  True]

这里使用了切片操作 arr[:3] 将数组中前三个元素选出,并使用布尔运算符 != 检查它们是否非零。输出结果 [ True False True] 表明数组中的前两个元素是零,第三个元素是非零的。

以上就是如何检查给定 NumPy 数组的元素是否非零的方法。