1、np.where(condition, x, y)
满足condition,输出x,否则输出y
2、np.where(condition)
当括号内只有条件,没有x和y,满足条件,则输出该元素的坐标。
a=array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
b=np.where(a > 5)
print(b)
out:
(array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2]),
array([2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2]),
array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]))
所以np.where会输出每个元素的对应的坐标,因为原数组有三维,所以tuple中有三个数组。