我想知道,如何正确保存和加载numpy.array
数据。目前我正在使用numpy.savetxt()
方法。举例来说,如果我有一个数组markers
,它看起来像这样:如何正确保存并加载numpy.array()数据?
我试图通过使用保存它:
numpy.savetxt('markers.txt', markers)
在其他的脚本中,我尝试打开以前保存文件:
markers = np.fromfile("markers.txt")
而这正是我得到...
保存的数据首先是这样的:
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
0.000000000000000000e+00
但是,当我刚保存通过使用相同的方法,即加载数据。 numpy.savetxt()
它看起来像这样:
1.398043286095131769e-76
1.398043286095288860e-76
1.396426376485745879e-76
1.398043286055061908e-76
1.398043286095288860e-76
1.182950697433698368e-76
1.398043275797188953e-76
1.398043286095288860e-76
1.210894289234927752e-99
1.398040649781712473e-76
我在做什么错了? PS没有我执行的其他“后台”操作。只需保存和加载,这就是我所得到的。先谢谢你。
文本文件的输出是什么?为什么不直接写入CSV文件? – 2015-02-10 19:05:00
您是否需要保存并加载为可读的文本文件?如果使用'np.save()'和'np.load()'保存/加载二进制文件,它会更快(并且文件会更紧凑)。 – 2015-02-10 19:11:12
谢谢你的建议。它有帮助。但是,您能否解释为什么它是这样,以及是否有任何方法允许以* .txt格式保存数据并无需加载就加载数据?例如,当你想使用matlab,java或其他工具/语言。 – bluevoxel 2015-02-10 19:14:03