官方文档的解释不是很易懂,查阅资料后,作为程序员,我给出的解释是:
numpy.nonzero是用来返回一个多维数组中不为0的元素的下标,这个下标包含两个维度,可以想象成行和列的索引。也就是说,它的返回值是一个包含两个数组的元组。
拿官网的例子说明一下:
>>> x = np.array([[1,0,0], [0,2,0], [1,1,0]])
>>> x
array([[1, 0, 0],
[0, 2, 0],
[1, 1, 0]])
>>> np.nonzero(x)
(array([0, 1, 2, 2]), array([0, 1, 0, 1]))
x
是一个3 * 3
的数组,x[0][0]
,x[1][1]
,x[2][0]
,x[2][1]
,这几个元素不为0
.
那么np.nonzero(x)
的值就是这些不为零的元素的行索引的值,以及列索引的值组成的两个数组:
(array([0, 1, 2, 2]), array([0, 1, 0, 1]))
希望对你有帮助~
官网链接:https://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html