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

Tom*_*Tom 2 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))
Run Code Online (Sandbox Code Playgroud)

Y 和 Ypred 的尺寸都是(10,1)

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

来自cmd的错误=> TypeError:一元的错误操作数类型-:'NoneType'

Fly*_*ler 8

-Y
Run Code Online (Sandbox Code Playgroud)

在您尝试使用它时不起作用。你的意思是:

-1*Y
Run Code Online (Sandbox Code Playgroud)

在您的情况下,python 试图做的是:

None - Y
Run Code Online (Sandbox Code Playgroud)

这显然不起作用。也就是说,因为它被解释-为一个有左侧和右侧的操作数。在您的情况下,您没有提供左侧,因此它假设None然后找不到-左侧None和右侧是矩阵的任何实现