举例说明np.where是如何用的
import numpy as np
x = np.arange(10.).reshape(5,2)
输出的x为:
array([[0., 1.],
[2., 3.],
[4., 5.],
[6., 7.],
[8., 9.]])
np.where(x>0)
(array([0, 1, 1, 2, 2, 3, 3, 4, 4]), array([1, 0, 1, 0, 1, 0, 1, 0, 1]))
意思是:
array([0, 1, 1, 2, 2, 3, 3, 4, 4]) 是指行, array([1, 0, 1, 0, 1, 0, 1, 0, 1])指列
x开头的的0和1只有一个大于0,所以返回 0,是说第0行,然后后面一个array的第一个1,是指第一列(因为第0行的第0列没有大于0,所以直接就没有返回)
然后第一个array中的(0,1,1,……)中的1,1,是指array中的2和3都大于0,所以返回2所在的行号是1,返回3所在的行号是1,所以是两个1, 然后第二个array中的[1, 0, 1, … ]中的 0,1是表示array中的2和3的两个列,也就是第0列和第1列。