我有一个数组 [x1, x2, x3, x4, x5, x6] 和另一个数组 [y1, y2, y3,...y12]。
我想按元素将两个数组相乘,以便得到如下数组: [x1*y1, x2*y2....x1*y7, x2*y8...x6*y12]
我认为 numpy 广播会处理它,但它需要它们具有相同的形状。
最佳答案
np.resize
x = np.array([1, 2, 3])
y = np.array([1, 2, 3, 4, 5, 6])
np.resize(x, y.size) * y
array([ 1, 4, 9, 4, 10, 18])
如果
y
的长度不是 x
长度的倍数,np.resize
甚至可以工作。它将不断填充 x
中的值,循环遍历它们,直到达到与 y
匹配的长度。
x = np.array([1, 2, 3])
y = np.array([1, 2, 3, 4, 5, 6, 7, 8])
np.resize(x, y.size) * y
array([ 1, 4, 9, 4, 10, 18, 7, 16])
关于python - 如何按元素将 6 个元素的数组与 12 个元素的数组相乘,并重复较小的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56856572/