python矩阵计算问题

#在计算损失函数时,总是报错
#已有:X 为(97, 2)的dataframe
#y为(97,1)的dataframe
#theta为(1,2)的dataframe

#代码如下:

def Compute_cost(theta, X, y):
    total_cost = (X*theta.T-y)**2
    m = len(y)
    J = total_cost/(2*m)
    return J
    

print(Compute_cost(theta,X,y))

#运行结果及报错内容
Unable to coerce to DataFrame, shape must be (97, 2): given (2, 1)

#猜测可能是dataframe的type问题,用np.mat()转换theta 后问题依然存在

你确定传进去的theta和X都是DataFrame类型吗?这个错误说明两个数据里面至少有一个不是DataFrame类型(可能是ndarray),而且形状不同,不能转换。