觉得有些格式不太好看 就自己写了一下
numpy.where的格式:
numpy.where( condition , x , y )
*condition: 类数组对象,布尔逻辑(即True或False)。
·
x,y : 类数组对象 ,optional(这个不太明白,不过不影响使用)*
numpy.where分两种方式使用。
‘
第一种:numpy.where(condition,x,y).condition为真,输出x;假,则输出y.
`
第二种:numpy.where(condition,x,y).condition为真,返回conditon.nonzero().(返回condition(类数组对象)非零元素的坐标)
np.where([[True, False], [True, True]],
[[1, 2], [3, 4]],
[[9, 8], [7, 6]])
结果:
array([[1, 8],
[3, 4]])
这是官方的例子,刚开始不明白意思,但这样看就一目了然:
`
np.where([[True, False], [True, True]],
[[1 , 2 ], [3 , 4 ]],
[[9 , 8 ], [7 , 6 ]])
结果:
array([[1,8],[3,4]])
第一列分别对应conditon,x,y,以此类推第二列第三列均如此。
第一列,conditon为True,为逻辑真值,则输出x=1
第二列,False,输出y =8
第二种:
dataSet=array
( [[1,0,0,0],
[0,1,0,0],
[0,1,0,0],
[0,0,0,1]])
np.where(dataSet)
结果:
(array([0, 1, 2, 3], dtype=int64), array([0, 1, 1, 3], dtype=int64))
输出了非零元素的所在行,所在列位置。