Python NumPy中nonzero()函数的用法
NumPy中的nonzero()函数是用来查找数组中非零元素的位置。它的语法如下:
numpy.nonzero(a)
其中a是一个数组,可以是一维、二维或多维数组。它返回的是一个元组,元组中的每个元素都是一个数组,数组中的每个元素是非零元素的位置。
Python NumPy中nonzero()函数的示例演示
下面给出一个示例,演示nonzero()函数的用法:
import numpy as np a = np.array([[1,2,0],[0,0,3]]) print(np.nonzero(a))
运行上面的代码,得到的结果如下:
(array([0, 0, 1, 1, 1], dtype=int64), array([0, 1, 0, 1, 2], dtype=int64))
从上面的结果可以看出,nonzero()函数返回了一个元组,元组中的每个元素都是一个数组,数组中的每个元素是非零元素的位置。
由于nonzero()函数返回的是一个元组,可以使用下标访问元组中的元素,比如可以使用下面的代码访问元组中的第一个数组:
print(np.nonzero(a)[0])
运行上面的代码,得到的结果如下:
array([0, 0, 1, 1, 1], dtype=int64)
从上面的结果可以看出,第一个数组中的元素为[0, 0, 1, 1, 1],表示数组a中非零元素的行号,即为[0, 0], [1, 1], [1, 2]。
同理,可以使用下面的代码访问元组中的第二个数组:
print(np.nonzero(a)[1])
运行上面的代码,得到的结果如下:
array([0, 1, 0, 1, 2], dtype=int64)
从上面的结果可以看出,第二个数组中的元素为[0, 1, 0, 1, 2],表示数组a中非零元素的列号,即为[0, 0], [0, 1], [1, 2]。
:Python NumPy中的nonzero()函数是用来查找数组中非零元素的位置,它返回的是一个元组,元组中的每个元素都是一个数组,数组中的每个元素是非零元素的位置。