np.where
np.where(condition, x, y)
满足条件(condition),输出x,不满足输出y。
1 | np.where([[True,False], [True,True]], # 官网上的例子 |
输出
1 | array([[1, 8], |
上面这个例子的条件为[[True,False], [True,False]],分别对应最后输出结果的四个值。第一个值从[1,9]中选,因为条件为True,所以是选1。第二个值从[2,8]中选,因为条件为False,所以选8,后面以此类推
这里的true指的就是选前面的,false就是指选后面的
1 | >>> a = 10 |
np.where(condition)
只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标(注意这里返回的是坐标)
1 | >>> a = np.array([2,4,6,8,10]) |
1 | >>> a = np.arange(27).reshape(3,3,3) |
注意这里的最终结果的坐标是要竖着看的,即(0,2,0),(0,2,1)….
- 这个方法只能用在array上面,如果需要list的话需要np.asarray
1 | import numpy as np |
结果
1 | [[ 3] |