2013-11-21 156 views
0

我需要我当前的代码更快/优化的版本不同的维度:乘两个阵列使用numpy的

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的功能(也许没有重塑和炸毁整个事情)?

回答

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]]) 
+0

这就是它; ) – tamasgal