gpt4 book ai didi

python - 乘以 Numpy 矩阵的列时出现问题

转载 作者:行者123 更新时间:2023-11-30 23:15:05 25 4
gpt4 key购买 nike

我正在尝试将 numpy 矩阵的列相乘。我已按照此 question 中给出的代码进行操作。

该列如下所示:

enter image description here

当我尝试将矩阵的两列相乘时,会发生以下情况。

enter image description here

也许问题是列的存储方式不同?其他问题中的一些打印输出没有将数字存储在单独的列表中。

最佳答案

With np.matrix, the * operator does matrix multiplication而不是按元素相乘,我认为您正在尝试这样做。

您会收到 ValueError,因为两个列向量未正确对齐以进行矩阵乘法。它们的内部尺寸不匹配,因为它们的形状分别为 (N, 1)(N, 1)。它们需要是 (1, N)(N, 1) (对于内积)或 (N, 1)(1, N)(对于外积)以便矩阵乘法起作用。

如果您选择坚持使用 np.matrix 来保存数据,则可以使用 np.multiply()函数进行逐元素乘法:

result = np.multiply(new_train_data[:, 0], new_train_data[:, 1])

但是,我建议您将来使用 np.array 而不是 np.matrix。对于 np.array,* 运算符执行逐元素乘法,而 np.dot() 函数(或 .dot () 数组的方法)进行矩阵乘法。

关于python - 乘以 Numpy 矩阵的列时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28437448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com