值错误:“str”类型的对象的未知格式代码“f”

2024-04-27 12:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试在一个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打印它们?


Tags: 文件ofnumpyformattype错误np数组
2条回答

最简单的方法是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

请尝试以下方法:

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'

相关问题 更多 >