Numpy.savetxt 格式问题:添加字符串列
Numpy.savetxt formatting issue: adding a string column
我已将我的问题缩小为以下内容:
import numpy as np
out_file = "results.txt"
results = [[1,2,3,.4,"5"]] # just one row for testing
format = ['%i', '%i', '%i', '%f', '%s']
np.savetxt(out_file, results, format, '\t')
我只想保存 5 列数据:3 个整数、1 个浮点数和一个字符串。当我尝试这样做时,我收到错误消息:
File ".\npyio.py", line 1391, in savetxt
% (str(X.dtype), format))
TypeError: Mismatch between array dtype ('<U32') and format specifier ('%i %i %i %f %s')
如果我删除字符串格式和数组中的相应值,代码就可以正常工作。
这感觉就像我只是在做一些非常愚蠢的事情,但在谷歌搜索了几个小时无果之后,我想我需要帮助。
普通的 numpy 数组只有一种数据类型。您可以使用 dtype='O'
对象类型初始化数组,但它仍然不适用于 savetxt()
.
您的问题的解决方案是结构化数组,如图 here。
我已将我的问题缩小为以下内容:
import numpy as np
out_file = "results.txt"
results = [[1,2,3,.4,"5"]] # just one row for testing
format = ['%i', '%i', '%i', '%f', '%s']
np.savetxt(out_file, results, format, '\t')
我只想保存 5 列数据:3 个整数、1 个浮点数和一个字符串。当我尝试这样做时,我收到错误消息:
File ".\npyio.py", line 1391, in savetxt
% (str(X.dtype), format))
TypeError: Mismatch between array dtype ('<U32') and format specifier ('%i %i %i %f %s')
如果我删除字符串格式和数组中的相应值,代码就可以正常工作。
这感觉就像我只是在做一些非常愚蠢的事情,但在谷歌搜索了几个小时无果之后,我想我需要帮助。
普通的 numpy 数组只有一种数据类型。您可以使用 dtype='O'
对象类型初始化数组,但它仍然不适用于 savetxt()
.
您的问题的解决方案是结构化数组,如图 here。