【问题标题】:How to multiply a vector by an array/matrix element-wise in numpy?如何在numpy中将向量乘以数组/矩阵元素?
【发布时间】:2017-12-12 02:53:45
【问题描述】:

我有一个形状为 (32,3,5,5) 的多维数组 a 和一个形状为 (32,) 的数组 v。我如何使用除 for 循环之外的 numpy 将 (i,3,5,5) 与 (i,) 相乘?

【问题讨论】:

    标签: python numpy numpy-ndarray array-broadcasting elementwise-operations


    【解决方案1】:

    av 作为两个数组,可以建议的方法很少 -

    a*v[:,None,None,None]
    a*v.reshape(-1, *[1]*3)
    (a.T * v).T
    np.einsum('i...,i->i...', a, v)
    

    【讨论】:

    • 我尝试了您发布的第一种方法。有用!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多