Python 类型错误:ufunc';减去';未包含具有签名匹配类型dtype(';<;U8';)dtype(';<;U8';)dtype(';<;U8';)的循环

Python 类型错误:ufunc';减去';未包含具有签名匹配类型dtype(';<;U8';)dtype(';<;U8';)dtype(';<;U8';)的循环,python,pandas,Python,Pandas,我在减去一个数据表的两列时遇到了困难,我是python新手,在尝试研究如何解决这个问题失败后,我想知道是否有人有什么见解。我的代码如下: response = qc.query(token, sql=query, fmt='pandas') result = Table.from_pandas(response) g_r =result['dered_mag_g'] - result['dered_mag_r'] r_z = result['dered_mag_r'] - result[

我在减去一个数据表的两列时遇到了困难,我是python新手,在尝试研究如何解决这个问题失败后,我想知道是否有人有什么见解。我的代码如下:

response = qc.query(token, sql=query, fmt='pandas')
result = Table.from_pandas(response)
g_r   =result['dered_mag_g'] - result['dered_mag_r']
r_z   = result['dered_mag_r'] - result['dered_mag_z']
这是我得到的错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-13-836ed65f38bb> in <module>()
----> 1 g_r   =result['dered_mag_g'] - result['dered_mag_r']
      2 r_z   = result['dered_mag_r'] - result['dered_mag_z']
/data0/sw/anaconda2/lib/python2.7/site-packages/numpy/ma/core.pyc in __sub__(self, other)
   4083         if self._delegate_binop(other):
   4084             return NotImplemented
-> 4085         return subtract(self, other)
   4086
   4087     def __rsub__(self, other):
/data0/sw/anaconda2/lib/python2.7/site-packages/numpy/ma/core.pyc in __call__(self, a, b, *args, **kwargs)
   1016         with np.errstate():
   1017             np.seterr(divide='ignore', invalid='ignore')
-> 1018             result = self.f(da, db, *args, **kwargs)
   1019         # Get the mask for the result
   1020         (ma, mb) = (getmask(a), getmask(b))

TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('S8') dtype('S8') dtype('S8')
TypeError回溯(最近一次调用)
在()
---->1 g\u r=结果['dered\u mag\u g']-结果['dered\u mag\u r']
2 r_z=结果['dered_mag_r']-结果['dered_mag_z']
/data0/sw/anaconda2/lib/python2.7/site-packages/numpy/ma/core.pyc in_____________(self,other)
4083如果自我代表(其他):
4084返回未执行
->4085返回减法(自身、其他)
4086
4087定义(自身、其他):
/调用中的data0/sw/anaconda2/lib/python2.7/site-packages/numpy/ma/core.pyc(self、a、b、*args、**kwargs)
1016,带有np.errstate():
1017 np.seterr(divide='ignore',invalid='ignore')
->1018结果=self.f(da,db,*args,**kwargs)
1019#获取结果的掩码
1020(ma,mb)=(获取掩码(a),获取掩码(b))
TypeError:ufunc“subtract”不包含签名类型与dtype('S8')dtype('S8')dtype('S8')dtype('S8')匹配的循环

似乎数据类型是字符串,请尝试应用astype():


我应用了您对代码的建议,但现在我遇到了一个新错误:
TypeError:无法将fill\u value N/a转换为dtype float64
请显示表格的一部分。也许您可以应用result.replace(“不适用”,0)
g_r=result['dered_mag_g'].astype(float) - result['dered_mag_r'].astype(float)