np.where(condition,x,y)
多条件时condition,&表示与,|表示或。
同时满足两个条件时,可以用&符号,意思是"与"。
'|‘表示"或者",可以和’&'联合起来使用。
如a = np.where((0<a)&(a<5), x, y),当0<a与a<5满足时,返回x的值,当0<a与a<5不满足时,返回y的值。注意x, y必须和a保持相同尺寸。
如a = np.where((0<a)|(a<5), x, y),当0<a与a<5有一个满足时,返回x的值,当0<a与a<5都不满足时,返回y的值。注意x, y必须和a保持相同尺寸。
下面的代码表示满足(grade>=5且age<18)或者(name==‘Tom’)的数据集。
a=np.where( (grade>=5) & (age<18) | (name=='Tom') , 1, 0)
https://jingyan.baidu.com/article/f96699bb0d626a894e3c1b36.html