【发布时间】:2013-10-31 16:50:54
【问题描述】:
我正在尝试保存一个包含浮点数和一列字符串的数组,但我得到了一些非常奇怪的结果。这是我尝试过的:
data = np.column_stack((f1, f2, f3, s1))
第一列 (f1) 是长浮点数(最多 10 位,但我只需要 2 位)。我还需要在第二列和第三列分别输入 2-3 位数字,f2 和 f3。最后一列 s1 仅包含两个不同的字符串:'FeI' 和 'FeII'。
问题是,当我尝试打印 data 时,我会得到这样的结果:
[['7352' '11.7' '-4.9' 'FeI']
...,
['5340' '22.8' '-8.2' 'FeII']]
虽然我想得到这样的东西(我不在乎它是否将浮点数保存为字符串,因为之后我可以轻松地将它们加载为浮点数):
[['7352.91' '11.78' '-4.92' 'FeI']
...,
['53407.66' '22.82' '-8.27' 'FeII']]
如您所见,主要问题是,它 53407.66 变成了 5340 - 一个数量级!
可能的解决方案
要改用np.array 并使用dtype-选项。但是,我不知道如何将列存储为字符串。有什么帮助吗?
【问题讨论】:
-
何时以及如何打印数据?什么时候必须采用您指定的格式?