如何检查一个给定的NumPy数组的元素是否为非零

  • Post category:Python

要检查给定的 NumPy 数组的元素是否为非零,可以使用numpy.count_nonzero()函数。该函数返回数组中非零元素的个数。

以下是检查NumPy数组元素是否为非零的完整攻略:

1. 导入NumPy库

首先需要导入 NumPy 库。可以使用以下 Python 代码导入 NumPy 库:

import numpy as np

2. 创建NumPy数组

接下来,可以创建一个 NumPy 数组。以下是一个包含一些随机整数的示例数组:

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

3. 使用count_nonzero()函数检查非零元素个数

使用count_nonzero()函数可以检查 NumPy 数组中非零元素的个数。以下是用法示例:

num_non_zero_elements = np.count_nonzero(arr)

在此示例中,将arr数组作为参数传递给np.count_nonzero()函数,并将返回的值存储在变量num_non_zero_elements中。可以使用print()函数检查返回值:

print(num_non_zero_elements)

在前面的示例中,数组arr有3个非零元素,因此输出结果为3。

以下是另一个示例,展示如何检查NumPy数组中每个元素是否非零:

import numpy as np

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

# 使用 Boolean mask 检查数组中每个元素是否非零
non_zero_mask = arr != 0
print(non_zero_mask)

在此示例中,使用arr != 0创建一个 Boolean mask,将每个元素与0进行比较,返回一个新的布尔数组。如果元素非零,则为 True,否则为 False。

输出结果:

[False  True  True False  True False]

由输出结果可知,arr数组中第2、3、5个元素为非零元素,对应位置的Boolean mask值为True。

以上就是完整的NumPy检查非零元素的攻略,通过这些步骤可以轻松检查NumPy数组中的非零元素。