Python错误-TypeError:一元操作数的操作数类型错误-:';非类型';

Python错误-TypeError:一元操作数的操作数类型错误-:';非类型';,python,numpy,typeerror,Python,Numpy,Typeerror,我有一个函数中的下一个for循环 def Cost_F(Y, Ypred, m): for i in range(0,m): # Y and Ypred X = np.matmul(-Y, np.log10(Ypred)) Y和Ypred的尺寸均(10,1) Y和Ypred的类型=>类'numpy.matrixlib.defmatrix.matrix' cmd=>类型错误:一元操作数的操作数类型错误-:“非类型” -Y 当您试图使用它时,它不起作用。

我有一个函数中的下一个for循环

def Cost_F(Y, Ypred, m):

    for i in range(0,m):
        # Y and Ypred
        X = np.matmul(-Y, np.log10(Ypred))
Y和Ypred的尺寸均(10,1)

Y和Ypred的类型=>类'numpy.matrixlib.defmatrix.matrix'

cmd=>类型错误:一元操作数的操作数类型错误-:“非类型”

-Y
当您试图使用它时,它不起作用。你的意思是:

-1*Y
python在您的案例中尝试做的是:

None - Y
这显然是行不通的。也就是说,因为它将
-
解释为具有左侧和右侧的操作数。在您的例子中,您没有提供左侧,因此它假定
None
,然后找不到
-
的任何实现,其中左侧是
None
,右侧是一个矩阵im,使用print(type(Y))和print(type(Ypred)),我从cmd类“numpy.matrixlib.defmatrix.matrix”得到了这个输出