np.nonzero(a)
最简单的np函数。传入一个数组或者类数组元素。返回传入数组中非0元素的索引值。返回的是一个tuple,tuple的元素数量就是传入数组的维度。因为,要定位一个非0元素,必须要给出每一个维度上的索引值。
得到索引的tuple后可以反向取出非0元素,返回一维数组。见下面举例
举例:
arr = np.array([[7,-3,9],
[9,0,8]])
ind = np.nonzero(arr)
-----------------------------------
ind
(array([0, 0, 0, 1, 1], dtype=int64), array([0, 1, 2, 0, 2], dtype=int64))
----------------------------------------
arr[ind] # 反向取出符合条件的元素
array([ 7, -3, 9, 9, 8])