0
matrixADimensions = matrixA.shape # returns [901,1249,1]
matrixBDimensions = matrixB.shape # returns [901,1249]

我正在尝试获取 matrixA 和 matrixB 的元素乘法,但我得到了错误ValueError: operands could not be broadcast together with shapes (901,1249,1) (901,1249)

我相信这与两个矩阵的维度有关,因为它们不相同。实际上,从技术上讲,它们是相同的,因为它们是[901,1249,1]相同的,[901,1249]但 Python 似乎并不知道这一点。

如何将matrixA与matrixB相乘?

4

1 回答 1

1

您可以使用numpy.squeeze从数组的形状中删除一维条目。所以在你的情况下,你会这样做:

import numpy as np

np.squeeze(matrixA) * matrixB

这样做的好处是不需要知道一维条目在数组形状中的位置(与采用诸如 之类的索引方法不同matrixA[:,:,0])。

于 2017-02-20T04:32:19.383 回答