我有一个numpy数组A:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
和另一个数组B:
array([0, 1])
如何将A和B相乘得到结果?
array([[[ 0, 0, 0, 0],
[ 0, 0, 0, 0],
[ 0, 0, 0, 0]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
非常感谢你。
最佳答案
您需要调整第二个ndarray的形状,以便两个数组都具有相同的维数:
arr1 * arr2[:, None, None]
要么
arr1 * arr2.reshape(2, 1, -1)
arr1.shape
# (2, 3, 4)
arr2[:, None, None].shape
# (2, 1, 1)
arr2.reshape(2, 1, -1).shape
# (2, 1, 1)
关于python - 如何将numpy 1D与N-D数组相乘?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58455293/