python - Numpy 矩阵乘法错误

标签 python numpy matrix

我有两个大矩阵:

       Xn = np.matrix(X)
       Xnt = Xn.transpose()

那么Xn是这样的:

   >>> Xn
   matrix([['0,208', '0,22', '0,208', ..., '0,194', '0,205', '0,205'],
    ['0,22', '0,208', '0,214', ..., '0,205', '0,205', '0,214'],
    ['0,208', '0,214', '0,22', ..., '0,205', '0,214', '0,211'],
    ..., 
    ['0,214', '0,214', '0,208', ..., '0,199', '0,211', '0,226'],
    ['0,214', '0,208', '0,208', ..., '0,211', '0,226', '0,252'],
    ['0,208', '0,208', '0,211', ..., '0,226', '0,252', '0,24']], 
   dtype='|S5')

但我想将 Xn 和 Xnt 相乘。发生错误。

  >>> print(Xn*Xnt)

    Traceback (most recent call last):
    File "<pyshell#2>", line 1, in <module>
    print(Xn*Xnt)
    File "C:\Python27\lib\site-packages\numpy\matrixlib\defmatrix.py", line 330, in __mul__
    return N.dot(self, asmatrix(other))
    ValueError: data type must provide an itemsize

有什么问题吗?

最佳答案

您的矩阵元素是字符串 - 打印矩阵时请注意dtype='|S5'。首先尝试将 X 的元素从字符串转换为 float 。

关于python - Numpy 矩阵乘法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659308/

相关文章:

python - 多线程可加快下载速度

arrays - Postgres SQL 函数转换可以应用于数组类型吗?

arrays - Numpy:重新排列矩阵以使每一行与其左/右上下文堆叠的最有效方法是什么?

r - 生成独特的用户-项目跨产品组合矩阵

opengl - OpenGL 在流水线中乘以哪些矩阵?

python - 在 django 中进行原始 SQL 查询后结果为空,但在 mysql 数据库中使用相同的 sql 却是正确的?

python - 从 df.append 转换为 pd.concat 时,无法连接类型 '<class ' list'>' 的对象

Python Opencv 透视变换()

python - 将 SymPy 矩阵转换为 numpy 数组/矩阵的最佳方法是什么

python - R 与 Python 中的 HMAC 编码