我有两个numpy数组,a.shape为[2,1000,1000],b.shape为[1000,1000]。
b中有0和1。我想使用它们索引a的第一维并输出1000,1000大小的数组。到目前为止,我尝试过的方法无法保持原始数组的形状。
答案 0 :(得分:1)
扭曲先前建议的答案(输入矩阵大小为10而不是1000 ...):
a = np.random.rand(2, 10, 10)
b = np.random.rand(10, 10) > 0.5 # created a random mask
c = np.zeros(b.shape)
c[b == 0] = a[0, :, :][b == 0]
c[b == 1] = a[1, :, :][b == 1]
答案 1 :(得分:1)
在这种情况下,您可以
...--F--G--H <-- master (HEAD)
\
I
\
J--K <-- branch2
一种更通用的方法也适用,当a没有两层而是n层时
branch1