首先看一下源码:
1 | def where(condition, x=None, y=None): |
所以实际上既可以只传第一个参数(后面两个默认为None),也可以传两个或三个参数。
用法1:
1 | np.where(condition, x, y) |
这里有一点像Excel中的if()函数。
1 | 10) aa = np.arange( |
用法2:
1 | np.where(condition) |
只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标(注意是坐标,不是值)。
坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。
1 | 2,4,6,8,10]) a = np.array([ |