【发布时间】:2016-04-15 11:19:45
【问题描述】:
我有一个形状为 (k,n) 的二维数组 a,我想将它与形状为 (m,) 的一维数组 b“相乘”:
a = np.array([[2, 8],
[4, 7],
[1, 2],
[5, 2],
[7, 4]])
b = np.array([3, 5, 5])
作为我正在寻找的“乘法”的结果:
array([[[2*3,2*5,2*5],[8*3,8*5,8*5]],
[[4*3,4*5,4*5],[7*3,7*5,7*5]],
[[1*3,1*5,1*5], ..... ]],
................. ]]])
= array([[[ 6, 10, 10],
[24, 40, 40]],
[[12, 20, 20],
[21, 35, 35]],
[[ 3, 5, 5],
[ ........ ]],
....... ]]])
我当然可以用循环来解决它,但我正在寻找一种快速的矢量化方法。
【问题讨论】:
标签: python arrays performance numpy vectorization