2017-03-15 33 views
1

我有兩個numpy的陣列,ab,其中A具有尺寸1和相同的長度的主要尺寸如b,例如乘法numpy.array帶numpy.array B的主導尺寸

import numpy 
a = numpy.random.rand(5) 
b1 = numpy.random.rand(5) 
b2 = numpy.random.rand(5, 3, 11) 

我想將b的每個「行」與a中的對應條目相乘,並獲得與b相同形狀的數組。

喜歡的東西

a[:, None, None] * b2 

只有我知道的b維度事前工作。

回答

4

你可以使用

(a * b.T).T 

這將產生一個連續數組如果b是連續

(a*b.T).flags.contiguous 
# False 
(a*b.T).T.flags.contiguous 
# True