此矩阵运算的正式名称(将矩阵列乘以列向量)



我编写了以下Python/Pandas代码,将M行x N列数据帧(A)的每列乘以M x 1数据帧(b),得到M x N数据帧C:

def multiply_columns(A, b):
    C = pd.DataFrame(A.values * b.values, columns=A.columns, index=b.index)
    return C

换句话说,它将矩阵的每一列乘以相等长度的列向量。

代码运行良好,但我记不起这个操作的正式名称了。想法?

它被称为"广播"。请参阅numpy关于广播主题的文档。

此外,需要注意的是,A.valuesb.values不是矩阵,它们是数组。这可能看起来是一个小细节,但它非常重要。矩阵上的许多数学运算与数组上的相应运算产生完全不同的结果。例如,M1*M2是矩阵的矩阵乘积,而它是数组的逐元素乘法。请参阅此答案中的更多详细信息。

最新更新