说我有2个数组A
,B
:
A
的形状为(2, 400)
,为400 (x, y)
点
B
的形状为(1, 400)
,每400个(x, y)
点中的每一个都为0或1
我想创建一个新的数组C
,使得:
If B[i] == 0, C[i] = [10, 10, 10]
If B[i] == 1, C[i] = [20, 20, 20]
因此C
的形状应为(400,3)。
我知道一种有效的方法是使用np.where()
,但我不知道如何对2D矩阵执行此操作。
答案 0 :(得分:0)
您不需要np.where,而是使用倍增或matmul,因为您已经有一个掩码。我是通过np.matmul(B,np.ones((1,3))*10)+10
或np.multiply(B,np.ones(3) * 10)+10