True时如何在3D的每个图层中添加2D

问题描述

我确实有3个数组。

a = [[0 1] [2 3]]
b = [[True False] [True False]]
c = [[[1 1] [1 1] [1 1] [1 1]][[1 1] [1 1] [1 1] [1 1]]]

a是包含数字的2D数组。 b是包含True或False语句的2D数组。 c是包含数字的3D数组。

假设c有2层2D数组,只要a为True,我想在c的每一层添加b。有没有办法在不使用python中每个单元的循环的情况下做到这一点?

预期结果

k = [[2 1] [4 3]]

解决方法

谢谢您的回答。我想我找到了想要的答案。

k = np.where(b,a+c.sum(axis = 1),a+0).