Python ufunc&x27;减去';未包含具有签名匹配类型(dtype(';<;U32';)、dtype(';<;U32';)的循环->;数据类型(';<;U32';)

Python ufunc&x27;减去';未包含具有签名匹配类型(dtype(';<;U32';)、dtype(';<;U32';)的循环->;数据类型(';<;U32';),python,arrays,numpy,matrix,emcee,Python,Arrays,Numpy,Matrix,Emcee,我也试着对两个矩阵进行减法,首先我使用np.substract,然后我只使用“-”。矩阵减法的代码工作得非常好,但是当我将相同的代码输入到我的函数时,python给出了这个错误 Traceback (most recent call last): File "C:\Users\ASUS\anaconda3\lib\site-packages\emcee\ensemble.py", line 545, in __call__ return self.f(x, *se

我也试着对两个矩阵进行减法,首先我使用np.substract,然后我只使用“-”。矩阵减法的代码工作得非常好,但是当我将相同的代码输入到我的函数时,python给出了这个错误

Traceback (most recent call last):
  File "C:\Users\ASUS\anaconda3\lib\site-packages\emcee\ensemble.py", line 545, in __call__
    return self.f(x, *self.args, **self.kwargs)
  File "<ipython-input-95-627a7e4792e9>", line 11, in logposterior
    return lp +  log_likelihoodboss(theta, dataHd, covariance, BOSSDR12_z)
  File "<ipython-input-94-8ffe5ede0b1c>", line 15, in log_likelihoodboss
    ymu= dataHd-matriksmodel
numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32')

ymu是一个(6,1)矩阵。

这些是字符串数组为您的函数提供示例输入将帮助我们帮助您。对于dataHd,它是一个6 x 1数组[[1512.][81.2][1975.][90.9][2307.][99.]],哪个是字符串数组?因为对于dataHd,它是一个浮点数组,
dataHd=np.loadtxt(filebao,usecols=[0],dtype=float)。重塑(6,1)
虽然我不确定矩阵模型,但我猜它也是一个浮点。。因为可能性正在计算。根据错误消息,
dataHd
matriksmodel
都是字符串或字符串数据类型数组!好的,你能告诉我怎么修吗。。因为我不知道。。感谢您的回答这些是字符串数组为您的函数提供示例输入将帮助我们。对于dataHd,它是一个6 x 1数组[[1512.][81.2][1975.][90.9][2307.][99.]],哪个是字符串数组?因为对于dataHd,它是一个浮点数组,
dataHd=np.loadtxt(filebao,usecols=[0],dtype=float)。重塑(6,1)
虽然我不确定矩阵模型,但我猜它也是一个浮点。。因为可能性正在计算。根据错误消息,
dataHd
matriksmodel
都是字符串或字符串数据类型数组!好的,你能告诉我怎么修吗。。因为我不知道。。谢谢你的回答
def log_likelihoodboss(theta, dataHd, covariance, BOSSDR12_z):
    A, B, C, D, epsilon, rd= theta
    Hfid = 67.
    rd_fid = 147.78
    teori = []
    for i in range(len(BOSSDR12_z)):
        H = Hfid*(A*(1+BOSSDR12_z[i])**3 + B + C*BOSSDR12_z[i] +   D*(1+BOSSDR12_z[i])**epsilon)**0.5
        integral = integrate.quad(lambda x: 1/H, 0, BOSSDR12_z[i])
        DM = c*integral[0]
        kuantitas1 = DM*(rd_fid/rd)
        teori.append(kuantitas1)
        kuantitas2 = H*rd/rd_fid
        teori.append(kuantitas2)
        matriksmodel= np.array(teori).reshape(6,1)
        ymu= dataHd-matriksmodel
        chisquare= np.dot(np.dot(ymu.T, np.linalg.inv(covariance)), ymu)
        return -0.5 * chisquare