我正在尝试保存一个由浮点数和一列字符串组成的数组,我得到了一些非常奇怪的结果。这是我尝试过的:
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
选项。但是,我不知道如何将列存储为字符串。有什么帮助吗?