如何乘不同形状的排列在Python?

时间:2019-02-02 22:24:39

标签: python arrays numpy

我正在尝试将两个具有不同形状的数组相乘:

np.shape(a) = (20,37,2,121,240)

np.shape(b) = (121,240)

我想乘a*b,其中只有两个相似元素(121,240)中的值被乘在一起。阵列的 “一”(20,37,2)将保持不变。

的前3种元素

除了使用for循环以外,还有其他更简便的方法吗?

1 个答案:

答案 0 :(得分:2)

numpy的自动播放,所以你应该能够只是做

a * b

示例:

In [1]: import numpy as np

In [2]: a = np.ones((20,37,2,121,240))

In [3]: b = np.ones(((121,240)))

In [4]: (a * b).shape
Out[4]: (20, 37, 2, 121, 240)