Нельзя использовать numpy.savetxt для матрицы [string, float, float] - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь сохранить такую ​​матрицу из трех столбцов, как эта

[ ['1/0' '-2.0' '2.3058220360827992e-11'],
 ['1.0/0.02857142857142857' '-2.0' '2.010818928071975e-12'],
 ['1.0/0.05714285714285714' '-2.0' '5.8909978692050895e-12']]

, используя np.savetxt

Я пытался определить столбцы с

np.savetxt('FFT', RESULT, fmt=' '.join(['%s'] + ['%f']*2))

и

np.savetxt('FFT', RESULT,fmt='%s %1.4f %1.4f')

, но она продолжает выдавать мне ту же ошибку

 Traceback (most recent call last)
~/anaconda3/lib/python3.7/site-packages/numpy/lib/npyio.py in savetxt(fname, X, fmt, delimiter, newline, header, footer, comments, encoding)
   1386                 try:
-> 1387                     v = format % tuple(row) + newline
   1388                 except TypeError:

TypeError: must be real number, not numpy.str_

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-17-eecf9f5ea0b0> in <module>
     58 RESULT = np.delete(RESULT, (0), axis=0)
     59 print (RESULT)
---> 60 np.savetxt('FFT', RESULT, fmt=' '.join(['%s'] + ['%f']*2))
     61 
     62 

~/anaconda3/lib/python3.7/site-packages/numpy/lib/npyio.py in savetxt(fname, X, fmt, delimiter, newline, header, footer, comments, encoding)
   1389                     raise TypeError("Mismatch between array dtype ('%s') and "
   1390                                     "format specifier ('%s')"
-> 1391                                     % (str(X.dtype), format))
   1392                 fh.write(v)
   1393 

TypeError: Mismatch between array dtype ('<U23') and format specifier ('%s %f %f')

Я хотел бы сохранить ее в виде трех строк, чтобы получить трехмерный график с равным интервалом по оси xс этим «1 / что-то» в качестве меток, ось Y определяется значениями во второй строке, а третья - в качестве цветов на matplotlib, тепловой карте.В любом случае, это не важно для проблемы.Извините за плохой английский, и спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...