ValueError:'str'类型对象的未知格式代码'f'

时间:2013-04-04 08:38:31

标签: python arrays numpy string-formatting

尝试在DAT文件上写入2个NumPy数组时出现以下错误。

fo.write('{0:f} {1:f} \n'.format(np.array(p_initial),np.array(pv_za)))
ValueError: Unknown format code 'f' for object of type 'str'

完整代码可在此处找到:TypeError: can't multiply sequence by non-int of type 'float' : prblem with NumPy arrays

我对Python很陌生。如何将NumPy浮点数组写入DAT文件,以便可以使用matplotlib或gnuplot进行绘制?

2 个答案:

答案 0 :(得分:0)

使用numpy.savetxt的最简单方法:

import numpy as np
a = np.arange(5)
b = np.arange(5) + 2
np.savetxt('test.txt', np.array([a,b]).T, '%f')

给出:

0.000000 2.000000
1.000000 3.000000
2.000000 4.000000
3.000000 5.000000 
4.000000 6.000000

答案 1 :(得分:-1)

请尝试以下方法:

import itertools as i
import numpy as np
>>> '{0:f} {1:f}'.format(*i.chain(np.array([123]), np.array([234])))
'123.000000 234.000000'