使用numpy将两个具有不同尺寸的数组相乘

时间:2013-11-21 12:27:06

标签: python numpy multidimensional-array

我需要更快/优化的当前代码版本:

import numpy as np

a = np.array((1, 2, 3))
b = np.array((10, 20, 30, 40, 50, 60, 70, 80))

print([i*b for i in a])

有没有更快的方法来使用numpy函数(可能没有重塑和炸毁整个事情)?

1 个答案:

答案 0 :(得分:8)

看起来像outer product

>>> np.outer(a, b)
array([[ 10,  20,  30,  40,  50,  60,  70,  80],
       [ 20,  40,  60,  80, 100, 120, 140, 160],
       [ 30,  60,  90, 120, 150, 180, 210, 240]])