1

我编写了以下 Python/Pandas 代码,将 M 行 x N col 数据帧 (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

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

代码工作正常,但我不记得这个操作的正式名称。想法?

4

1 回答 1

2

它被称为“广播”。请参阅numpy有关该主题的文档:广播

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

于 2015-03-17T16:30:12.687 回答