numpy.where()函数 返回值的解释

近日用到numpy.where()函数,大部分使用方式都能理解,但是在看

>>> x = np.arange(9.).reshape(3, 3)
>>> np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))

的时候就懵逼了,为什么是两个数组?

后来才发现返回值给的其实是坐标,以上式为例,返回值其实是

x[2, 0], x[2, 1], x[2, 2]

即对于该数组x,返回值为两个数组a、b,其中满足条件的值在x中的位置为

x[a[0], b[0]], x[a[1], b[1]], ..., x[a[i], b[i]]

你可能感兴趣的:(numpy)