我试图将[12x256x256]数组与[12]数组相乘。这个想法是第一个是12 [256x256]数组的堆栈,第二个是1d标量的堆栈。因此,如果第二个数组是[1,2,3,4,...,12],那么我想将3d的第一层乘以1,将第二层乘以2,等等。
我该怎么做?
答案 0 :(得分:1)
您可以添加新轴并将它们相乘。
import numpy as np
a = np.ones((12,256,256))
b = np.array(range(12))+1
c = a * b[:, np.newaxis, np.newaxis]
答案 1 :(得分:0)
在numpy
你可以做
# let m be 12x256x256, n be 12
m = np.array(m)
n = np.array(n)
(m.swapaxes(0,2) * n).swapaxes(2,0)