检查给定NumPy数组中元素是否为非零的方法有多种,下面分别介绍两种方法。
方法一:使用numpy.nonzero()函数
使用numpy.nonzero()函数可以获得指定数组中非零元素的下标。
具体的操作方法如下:
-
导入numpy模块:
import numpy as np
-
创建一个NumPy数组:
a = np.array([0, 1, 2, 0, 0, 3])
-
调用 numpy.nonzero() 函数来获取非零元素的下标:
non_zero_index = np.nonzero(a)
-
查看结果:
print(non_zero_index)
执行以上代码,输出结果为 array([1, 2, 5], dtype=int64)
,说明数组中第 1、2、5个元素为非零元素。
方法二:使用numpy.where()函数
使用numpy.where()函数可以查询指定条件在数组中返回True的索引。
具体的操作方法如下:
-
导入numpy模块:
import numpy as np
-
创建一个NumPy数组:
a = np.array([0, 1, 2, 0, 0, 3])
-
利用numpy.where()函数查询指定条件的元素,并赋值给一个变量:
non_zero_index = np.where(a != 0)
-
查看结果:
print(non_zero_index)
执行以上代码,输出结果为 (array([1, 2, 5], dtype=int64),)
,与方法一的输出结果相同,都表示第 1、2、5个元素为非零元素。
示例
下面提供一个综合示例:
import numpy as np
a = np.array([0, 1, 2, 0, 0, 3])
# 使用numpy.nonzero()函数
print("使用 numpy.nonzero() 函数:")
non_zero_index = np.nonzero(a)
print(non_zero_index)
# 使用numpy.where()函数
print("使用 numpy.where() 函数:")
non_zero_index = np.where(a != 0)
print(non_zero_index)
输出结果为:
使用 numpy.nonzero() 函数:
(array([1, 2, 5], dtype=int64),)
使用 numpy.where() 函数:
(array([1, 2, 5], dtype=int64),)
两种方法得到的结果相同,证明方法一和方法二都适用于检查NumPy数组中的非零元素。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何检查一个给定的NumPy数组的元素是否为非零 - Python技术站