标题函数np.where()有两种用法
函数np.where()有两种用法:
1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y
2.np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的坐标或索引,返回的是以元组的形式
#用法一
例1
x, y = [0, 1, 3, 4, 2], [5, 6, 7, 1, 0]
z = np.where(x < y, x, y)
print(z) # 返回是一个数组,[0 1 3 4 2]
print(z[0]) # 0
例2
a = np.where([[True, False], [True, True]],
[[1, 2], [3, 4]],
[[9, 8], [7, 6]])
print(a) # 返回是一个数组[[1 8] [3
#用法二
a1 = np.array([2, 4, 6, 8, 10])
#只有一个参数表示条件的时候
b = np.where(a1 > 5)
print(b) # 返回是一个元组(array([2, 3, 4], dtype=int64),)
print(b[0]) # 从元组中取出数组,数组的元素是原数组的索引,[2 3 4]
print(b[0][0]) # 索引2
print(a1[b[0][0]]) # a1索引2对应的元素