np.where()多条件用法

1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y
2.np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的坐标,返回的是以元组的形式

3.多条件时condition,&表示与,|表示或。如a = np.where((0注意x, y必须和a保持相同尺寸。

例如:

import numpy as np

data = np.array([[0, 2, 0],
                           [3, 1, 2],
                           [0, 4, 0]])
new_data = np.where((data>= 0) & (data<=2), np.ones_like(data), np.zeros_like(data))
print(new_data)

结果:[[1 1 1]
          [0 1 1]
          [1 0 1]]

从中可以看出data中每个元素只要满足data>=0并且data<=2, 满足就返回np.ones_like(data)对应坐标的值,不满足就返回np.zeros_like(data)对应坐标的值。当然x , y可以换成其他的值,只要与条件相同尺寸就可以。

你可能感兴趣的:(np.where()多条件用法)