np.where()函数
np.where(condition[,x,y])
参数:
1.三个参数满足条件condition时输出x,不满足时输出y
x,y是从中选择的值
2.一个参数np.where(arry):
输出arry中‘真’值的坐标或者为非零的坐标
例子:
import numpy as np
#1
a=np.arange(10)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b=np.where(a<5,a,5*a)
print(b)#[ 0 1 2 3 4 25 30 35 40 45]
#2
a1=np.where([[True, False], [True, True]],#相当于条件
[[1, 2], [3, 4]],#相当于x#[[1 8]
[[9, 8], [7, 6]])#相当于y #[3 4]]#输出的形状与条件相同
print(a1.shape)#两行两列的数组
print(a1)
#3
print(np.where(np.array([[0,1,2],[3,4,5],[6,7,8]])))
#(array([0, 0, 1, 1, 1, 2, 2, 2], dtype=int64), array([1, 2, 0, 1, 2, 0, 1, 2], dtype=int64))
#4
print(np.where(np.array([[0,0,2],[3,4,5],[6,7,8]])))
#(array([0, 1, 1, 1, 2, 2, 2], dtype=int64), array([2, 0, 1, 2, 0, 1, 2], dtype=int64))
#5
c=np.where([[True, False], [True, True]],#相当于条件
[[1, 2], [3, 4]],#相当于x
5)#相当于y
print(c)#[[1 5]
#[3 4]]
#6
a2= np.array([[0, 1, 2],
[0, 2, 4],
[0, 3, 6]])
print(a2.shape)#(3,3)
b2=np.where(a2 < 4, a2, -1)
print(b2)
#[[ 0 1 2]
#[ 0 2 -1]
#[ 0 3 -1]]