numpy.where()的两种用法:
1、三个参数numpy.where(condition,x,y):满足condition条件,输出x,不满足输出y。
2、一个参数numpy.where(array):输出array中‘真’值的坐标(‘真‘也可以理解为非零)。
1、np.where(condition, x, y):
import numpy as np
result=np.where([[True,False],[True,True]],
[[1111,22222],[3333,44444]],
[[9999, 88888],[7777, 66666]])
print(result)
#[[ 1111 88888]
# [ 3333 44444]]
[[True,False],[True,True]], 标注是红色的三列是一个condition,x,y
[[1111,22222],[3333,44444]],
[[9999, 88888],[7777, 66666]]
2、np.where(array):
import numpy as np
x=np.array([[0,1,2],[3,4,5],[6,7,8]])
result1=np.where(x)
print(result1)
#(array([0, 0, 1, 1, 1, 2, 2, 2]),
# array([1, 2, 0, 1, 2, 0, 1, 2]))
分析:输出八个不为0的数(为‘真’的数)的坐标,第一个array[]是横坐标,第二个array[]是纵坐标。
[0,1,2],
[3,4,5],
[6,7,8]