Как установить точность на str ( numpy.float64)?

мне нужно записать пару чисел с плавающей запятой в csv-файл, который имеет дополнительное строковое содержимое. поэтому я не использую savetxt и т. д. с numpy.set_printoptions (), я могу определять только поведение печати, но не поведение str (). Я знаю, что что-то упускаю, и это не может быть так сложно, но я не нахожу разумного ответа в Интернете. может быть, кто-нибудь укажет мне правильное направление. Вот пример кода:

In [1]: import numpy as np
In [2]: foo = np.array([1.22334])

In [3]: foo
Out[3]: array([ 1.22334])

In [4]: foo[0]
Out[4]: 1.2233400000000001

In [5]: str(foo[0])
Out[5]: '1.22334'

In [6]: np.set_printoptions(precision=3)

In [7]: foo
Out[7]: array([ 1.223])

In [8]: foo[0]
Out[8]: 1.2233400000000001

In [9]: str(foo[0])
Out[9]: '1.22334'

Как преобразовать np. float в красиво отформатированную строку, которую я могу передать в file.write ()?

С уважением,

fookatchu

15
задан Fookatchu 30 January 2011 в 19:09
поделиться