Ошибка типа: ufunc 'subtract' не содержит цикла с типами соответствия сигнатуры dtype (' - PullRequest
1 голос
/ 13 октября 2019

У меня проблемы с вычитанием двух столбцов таблицы данных, я новичок в 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')

1 Ответ

1 голос
/ 13 октября 2019

Кажется, что dtypes - строки, попробуйте применить astype ():

g_r=result['dered_mag_g'].astype(float) - result['dered_mag_r'].astype(float)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...