简单的方法来做到这一点的numpy?

时间:2019-11-26 23:24:36

标签: python numpy

假设我有一个BxNxL数组M。换句话说,M由B NxL个矩阵组成。另外,我有一个LxB列向量Q。是否有任何简便的方法(没有循环)将Q的第i列广播(求和)到M中的第i个矩阵?

1 个答案:

答案 0 :(得分:0)

所以您的迭代代码是?

for i in range(...):    
    res[i,:,:] = M[i,:,:] + Q[:,i]    # NxL + L

具有整个数组

res = M + Q.T[:,None,:]     # BxNxL  + (Bx1xL)

(我写的是没有测试示例的,所以可能会有错误,但是基本思路应该是正确的)