2013-11-21 63 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