gpt4 book ai didi

python - 如何使用 python numpy.savetxt 将字符串和 float 写入 ASCII 文件?

转载 作者:IT老高 更新时间:2023-10-28 21:45:43 27 4
gpt4 key购买 nike

我有一组同时包含字符串和 float 的列表,例如:

import numpy as num

NAMES = num.array(['NAME_1', 'NAME_2', 'NAME_3'])
FLOATS = num.array([ 0.5 , 0.2 , 0.3 ])

DAT = num.column_stack((NAMES, FLOATS))

我想把这两个列表堆叠在一起,以列的形式写入一个文本文件;因此,我想使用 numpy.savetxt(如果可能)来执行此操作。

num.savetxt('test.txt', DAT, delimiter=" ") 

当我这样做时,我收到以下错误:

>>> num.savetxt('test.txt', DAT, delimiter=" ") 
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/numpy-1.8.0.dev_9597b1f_20120920-py2.7-macosx-10.8-x86_64.egg/numpy/lib/npyio.py", line 1047, in savetxt
fh.write(asbytes(format % tuple(row) + newline))
TypeError: float argument required, not numpy.string_

理想的输出文件如下所示:

NAME_1    0.5
NAME_2 0.2
NAME_3 0.3

如何将字符串和 float 都写入文本文件,可能避免使用 csv(如果其他人可读,我想制作)?除了使用 numpy.savetxt,还有其他方法吗?

最佳答案

您必须在 savetxt 中指定数据的格式 (fmt),在本例中为字符串 (%s):

num.savetxt('test.txt', DAT, delimiter=" ", fmt="%s") 

默认格式是 float ,这就是它期待 float 而不是字符串并解释错误消息的原因。

关于python - 如何使用 python numpy.savetxt 将字符串和 float 写入 ASCII 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com