2
У меня есть 2 большие матрицы:Numpy матрица ошибок умножения
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. – mtrw
Спасибо, это помогло! –
@mtrw закройте это или заново сформулируйте в качестве ответа :-) –