我有两个3D NumPy数组:
a = np.array([[[1, 2, 3],
[4, 5, 6]],
[[7, 8, 9],
[10, 11, 12]],
[[13, 14, 15],
[16, 17, 18]]])
b = a + 100
1个1D数组:
c = np.array([0, 1, 0])
我想创建另一个3D数组,它的元素来自a
和b
,基于c
,即如果c
是0
取自a
,如果1
取自b
.
结果应该是:
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[107, 108, 109],
[110, 111, 112]],
[[ 13, 14, 15],
[ 16, 17, 18]]])
因为我只想使用numpy
而不使用其他,所以我try 使用np.where
,但结果不是我想要的:
>>> np.where(c==0, a, b)
array([[[ 1, 102, 3],
[ 4, 105, 6]],
[[ 7, 108, 9],
[ 10, 111, 12]],
[[ 13, 114, 15],
[ 16, 117, 18]]])
有什么建议吗?