编程自学网编程自学网编程自学网

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

问题描述:

我想乘两个不同形状的两个数组:

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

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

我想乘a*b只有两个像(121,240)相乘元素的值。阵列的前3种元素的“a” (20,37,2)将保持不变。

有没有更简单的方法来做到这一点,除了使用for循环?


解决方法:

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)


未经允许不得转载:编程自学网 » 如何乘不同形状的排列在Python?